在PHP中排序数组

时间:2011-03-04 23:24:19

标签: php

我有一个脚本可以从数据库中获取一些值。

变量的结构如下:

$dump["likes"] = 1234;
$likes["data"][$i]["name"] = "ABCDEFG";

for($i=0;$i<=$max;$i++){
    $data[$i]["likes"] = $dump["likes"];
    $data[$i]["name"] = $likes["data"][$i]["name"];

}

//Print sorted array here (highest value in "like" first)

我只需要一种方法来找出最大的“喜欢”的条目:)

到目前为止,我已尝试过array_multisort,但它显示“大小不一致”或有些错误......

感谢您的帮助!

编辑:

当我在结束循环之外打印($ data)时,它看起来像这样:

Array ( [0] => Array ( [likes] => 3485109 [name] => Google ) [1] => Array ( [likes] => 78535 [name] => Youtube ) [2] => Array ( [likes] => 2433041 [name] => Bing ))

我想有一个像这样的数组:

Array ( [0] => Array ( [likes] => 3485109 [name] => Google ) [1] => Array ( [likes] => 2433041 [name] => Bing ) [2] => Array ( [likes] => 78535 [name] => Youtube ))

//Sorted by "likes"

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题

function cmp($a, $b){
  if ($a['likes']>$b['likes'])
     return 1;
  else if ($a['likes']<$b['likes'])
    return -1;
  else return 0;
}
usort($data, 'cmp');