Php 如何按特定键对数组进行排序?
我有一个如下所示的数组Php 如何按特定键对数组进行排序?,php,arrays,sorting,Php,Arrays,Sorting,我有一个如下所示的数组 $array[0]['keyword'] = 'cricket '; $array[0]['noofhits'] = '26'; $array[1]['keyword'] = 'food '; $array[1]['noofhits'] = '17'; $array[2]['keyword'] = 'mypax'; $array[2]['noofhits'] = '22'; $array[3]['keyword'] = 'next'; $array[3][
$array[0]['keyword'] = 'cricket ';
$array[0]['noofhits'] = '26';
$array[1]['keyword'] = 'food ';
$array[1]['noofhits'] = '17';
$array[2]['keyword'] = 'mypax';
$array[2]['noofhits'] = '22';
$array[3]['keyword'] = 'next';
$array[3]['noofhits'] = '22';
$array[4]['keyword'] = 'nextbutton';
$array[4]['noofhits'] = '22';
$array[5]['keyword'] = 'picture';
$array[5]['noofhits'] = '18';
我想用noofhits对数组进行排序。我该怎么办?谢谢你的建议
感谢您的回答。与自定义比较功能一起使用:
function cmp($a, $b) {
return $a['noofhits'] - $b['noofhits'];
}
usort($array, 'cmp');
usort希望比较函数返回三个不同的值:
如果a和b相等,则为0
如果a在b之前,则小于0的整数
如果b在a之前,则大于0的整数
所以我们可以简单地从a中减去b的值。如果a的值大于b的值,则减法产生一个正整数;如果a的值等于b的值,则得到0;如果a的值小于b的值,则会产生负值。使用这个精确的代码,您只有一个包含一个元素的数组。我看到了吗。。?您的代码正在覆盖其数据。