我想排序一个多维数组,其中每个数组是一个对象。在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 2013-04-24 18:32:15
我想排序在这种情况下对象的一个元素姓氏 – user2316819 2013-04-24 18:47:03
找到答案 - 定义一个数组,为每个列你想排序并添加使用对象参考语法的列值: 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 2013-04-24 19:15:14