我正在努力按标题键将对象数组按字母顺序排序。得到未定义"title"的错误。
我想从这个开始:
My Array
(
[0] => Array
(
[area] => TACT
[pages] => Array
(
[0] => Array
(
[id] => 1484
[title] => Registry
)
[1] => Array
(
[id] => 1385
[title] => Education
收件人:
My Array
(
[0] => Array
(
[area] => TACT
[pages] => Array
(
[0] => Array
(
[id] => 1385
[title] => Education
)
[1] => Array
(
[id] => 1484
[title] => Registry
已尝试:
function sort_alpha_title($a, $b) {
return strnatcmp($a['title'], $b['title']);
}
usort($myArray, 'sort_alpha_title');
2条答案
按热度按时间nkoocmlb1#
您应该使用
因为title属性是pages属性的子属性。
xxe27gdn2#
汤姆哈克写道:“我为这个双重的答案感到抱歉,但由于我的声誉,我不能发表评论。”
谢谢!这工作.但只为我的对象在数组之一.对不起的描述应该说.我尝试把一个for each循环,但它不工作.这里是我尝试:foreach($myArray作为$a){ usort($a ['页面'],'排序字母标题');}
你不需要foreach循环(在你的注解的末尾),因为它已经在一个调用中“循环”了。
致上最诚挚的问候