gpt4 book ai didi

php - 如何使用 PHP 中包含的关联数组的子字段对关联数组进行排序?

转载 作者:行者123 更新时间:2023-12-02 05:31:40 24 4
gpt4 key购买 nike

我如何根据其中一个值对关联数组进行排序?

例如:

$arr = array(
'ted' => array( 'age' => 27 ),
'bob' => array( 'age' => 18 ),
'jay' => array( 'age' => 24 )
);

$arr = ???

foreach ($arr as $person)
echo $person['age'], ', ';

所以输出是:

18, 24, 27

这是一个过于简单的例子,只是为了证明我的问题。

我仍然要求 $arr 是一个关联数组。

最佳答案

uasort() function 允许您指定一个回调函数,它将负责在两个元素之间进行比较——因此,如果您实现了正确的回调函数,应该会做得很好。

在这里,您必须实现一个回调函数,该函数将接收两个数组——并比较 age 项:

function callback($a, $b) {
if ($a['age'] > $b['age']) {
return 1;
} else if ($a['age'] < $b['age']) {
return -1;
}
return 0;
}


在以下代码部分使用该函数:

$arr = array(
'ted' => array( 'age' => 27 ),
'bob' => array( 'age' => 18 ),
'jay' => array( 'age' => 24 )
);

uasort($arr, 'callback');
var_dump($arr);

你会得到这个结果数组:

array
'bob' =>
array
'age' => int 18
'jay' =>
array
'age' => int 24
'ted' =>
array
'age' => int 27

关于php - 如何使用 PHP 中包含的关联数组的子字段对关联数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498718/

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