我的数组如下所示。
$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对数组进行排序。我能怎么做?预先感谢您的建议。
前一个的索里。谢谢你的答案。
答案 0 :(得分:9)
将usort
与自定义比较功能结合使用:
function cmp($a, $b) {
return $a['noofhits'] - $b['noofhits'];
}
usort($array, 'cmp');
usort
期望比较函数返回三个不同的值:
因此我们可以简单地从 a 中减去 b 的值。如果 a 的值大于 b 的值,则减法产生正整数;如果 a 的值等于 b 的值,则产生0;如果 a 的值小于 b 的值,则会产生负值。