Я хочу сортировать многомерный массив, в котором каждый массив является объектом. Пример наarray_multisort с массивом многомерных объектов
http://php.net/manual/en/function.array-multisort.php
указывает на необходимость создания массива столбцов, на которых сортировать
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
, но я получаю ошибку followiwng если я форматировать мой запрос в следующем формате:
Catchable fatal error: Object of class stdClass could not be converted to string
Код имеет следующую пару ключей/значений для фамилии с ключом last_name:
foreach ($mw_users as $key => $value) {
$last_name[$key] = $row['last_name'];
}
array_multisort($last_name, SORT_ASC, $mw_users);
Вы не можете сортировать объекты, вам необходимо отсортировать по количеству или строке. – Revent
Я хочу сортировать по одному элементу в объекте в этом случае last_name – user2316819
Найден ответ - определите массив для каждого столбца, который вы хотите отсортировать, и добавьте значения столбца с использованием синтаксиса ссылки на объект: foreach ($ mw_users as $ mw_user) { $ lastnames [] = $ mw_user-> last_name; $ firstnames [] = $ mw_user-> first_name; } array_multisort ($ lastnames, SORT_ASC, $ firstnames, SORT_ASC, $ mw_users); – user2316819