我有这个输出:
Array
(
[0] => Array
(
[id] => 4
[username] => bla1
)
[1] => Array
(
[id] => 5
[username] => bla2
)
[2] => Array
(
[id] => 6
[username] => bla3
)
)
如何按"用户名"对外部数组内的 3 个数组进行排序?
这是我尝试过的:
if($this->needOrder) {
$sorted = [];
foreach($files as $file) {
$sorted[] = asort($tableFile);
}
return $sorted;
}
$files
具有 ^ 上述代码的内容。该asort()
仅用于测试它是否有效。但我的回报是:
Array
(
[0] => 1
[1] => 1
[2] => 1
)
使用 usort()
$arr = Array(
array('id' => 4,'username' => 'bla2'),
array('id' => 5,'username' => 'bla3'),
array('id' => 6,'username' => 'bla1'),
);
function custom_sort($a, $b)
{
return strnatcmp($a['username'], $b['username']);
}
usort($arr, "custom_sort");
print '<pre>';
print_r($arr);
print '</pre>';
输出:
Array
(
[0] => Array
(
[id] => 4
[username] => bla1
)
[1] => Array
(
[id] => 4
[username] => bla2
)
[2] => Array
(
[id] => 4
[username] => bla3
)
)