gpt4 book ai didi

PHP 按嵌套值的字母顺序对二维数组进行排序

转载 作者:可可西里 更新时间:2023-11-01 12:41:09 26 4
gpt4 key购买 nike

我有一个如下所示的 PHP 数组:

Array{
[0] {
'id' => '0',
'title' => 'foo',
'address' => '123 Somewhere',
}
[1] {
'id' => '1',
'title' => 'bar',
'address' => '123 Nowhere',
}
[2] {
'id' => '2',
'title' => 'barfoo',
'address' => '123 Elsewhere',
}
[3] {
'id' => '3',
'title' => 'foobar',
'address' => '123 Whereabouts',
}
}

我想按嵌套数组中的“标题”键对其进行排序,如下所示:

Array{
[1] {
'id' => '1',
'title' => 'bar',
'address' => '123 Nowhere',
}
[2] {
'id' => '2',
'title' => 'barfoo',
'address' => '123 Elsewhere',
}
[0] {
'id' => '0',
'title' => 'foo',
'address' => '123 Somewhere',
}
[3] {
'id' => '3',
'title' => 'foobar',
'address' => '123 Whereabouts',
}
}

第一级键值并不重要,因为我通过嵌套键“id”跟踪每个嵌套数组。

我玩过 ksort() 但没有成功。

最佳答案

你应该使用 usort() (我在这里假设 PHP 5.3+):

usort($your_array, function ($elem1, $elem2) {
return strcmp($elem1['title'], $elem2['title']);
});

编辑:我没有注意到你想保留索引关联,所以你实际上需要使用 uasort() 来代替,使用相同的参数。

编辑2:这是 PHP 5.3 之前的版本:

function compareElems($elem1, $elem2) {
return strcmp($elem1['title'], $elem2['title']);
}

uasort($your_array, "compareElems");

关于PHP 按嵌套值的字母顺序对二维数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9872324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com