就我而言,这是我按对象字段对数组进行排序的步骤:
代码:(
演示) -- 按last_name升序排序,然后按first_name升序排序
<?php
$array = array(
(object)array(
'first_name' => 'Léa',
'last_name' => 'Weber',
),
(object)array(
'first_name' => 'Alexandre',
'last_name' => 'Dupont',
),
(object)array(
'first_name' => 'Léa',
'last_name' => 'Zotal',
),
(object)array(
'first_name' => 'Jérémie',
'last_name' => 'Hoffmann',
)
);
usort($array, function($a, $b) {
return [$a->last_name, $a->first_name]
<=>
[$b->last_name, $b->first_name];
});
var_export($array);
输出:
array (
0 =>
(object) array(
'first_name' => 'Alexandre',
'last_name' => 'Dupont',
),
1 =>
(object) array(
'first_name' => 'Jérémie',
'last_name' => 'Hoffmann',
),
2 =>
(object) array(
'first_name' => 'Léa',
'last_name' => 'Weber',
),
3 =>
(object) array(
'first_name' => 'Léa',
'last_name' => 'Zotal',
),
)
PHP7.4及更高版本支持箭头语法。
使用太空船运算符(<=>)或“联合比较运算符”或“三路比较运算符”可以轻松地按多列排序。
资源:https://wiki.php.net/rfc/combined-comparison-operator
https://dev59.com/MnA75IYBdhLWcg3wi5wr#54647220
count
或name
变量/动态的吗?还是开发人员静态地“知道”它们? - mickmackusa