PHP按键排序数组 [英] PHP sort array by key
本文介绍了PHP按键排序数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个输出:
Array
(
[0] => Array
(
[id] => 4
[username] => bla1
)
[1] => Array
(
[id] => 5
[username] => bla2
)
[2] => Array
(
[id] => 6
[username] => bla3
)
)
如何通过用户名"对外部数组中的3个数组进行排序?
How can i sort the 3 arrays inside this outside array by 'username'?
这是我尝试过的:
if($this->needOrder) {
$sorted = [];
foreach($files as $file) {
$sorted[] = asort($tableFile);
}
return $sorted;
}
$files
具有上面代码的内容. asort()
仅用于测试是否有效.
但是我的回报是:
$files
has the content of the ^above code. The asort()
is only for testing if it works.
But my return is:
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
)
)
这篇关于PHP按键排序数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文