如何按其中一个字段对对象数组进行排序,例如 name
或 count
?
Array
(
[0] => stdClass Object
(
[ID] => 1
[name] => Mary Jane
[count] => 420
)
[1] => stdClass Object
(
[ID] => 2
[name] => Johnny
[count] => 234
)
[2] => stdClass Object
(
[ID] => 3
[name] => Kathy
[count] => 4354
)
....
原文由 Alex 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 usort ,这是一个改编自手册的示例:
您还可以使用任何 可调用对象 作为第二个参数。这里有些例子:
此外,如果您要比较数值,
fn($a, $b) => $a->count - $b->count
作为“比较”函数应该可以解决问题,或者,如果您想要另一种方法来做同样的事情,从 PHP 7 开始,您可以使用 宇宙飞船操作员,像这样:fn($a, $b) => $a->count <=> $b->count
。