对二维数组进行排序

时间:2009-12-28 16:18:30

标签: php sorting

我是PHP的新手。我有一个二维的PHP数组。 “内部”数组有一个我想要排序的值。

例如:

$myarray[1]['mycount']=12
$myarray[2]['mycount']=13
$myarray[3]['mycount']=9

我想按降序对“内部”数组进行排序。

因此以下结果将是13,12,9

foreach ($myarray as $myarr){
  print $myarr['mycount']
}

提前感谢。

2 个答案:

答案 0 :(得分:7)

您可以使用usort();按用户定义的比较进行排序。

// Our own custom comparison function
function fixem($a, $b){
  if ($a["mycount"] == $b["mycount"]) { return 0; }
  return ($a["mycount"] < $b["mycount"]) ? -1 : 1;
}

// Our Data
$myarray[0]['mycount']=12
$myarray[1]['mycount']=13
$myarray[2]['mycount']=9

// Our Call to Sort the Data
usort($myArray, "fixem");

// Show new order
print "<pre>";
print_r($myArray);
print "</pre>";

答案 1 :(得分:4)