Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何按特定键对数组进行排序?_Php_Arrays_Sorting - Fatal编程技术网

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的值,则会产生负值。

使用这个精确的代码,您只有一个包含一个元素的数组。我看到了吗。。?您的代码正在覆盖其数据。