考慮以下數組排序關聯數組在PHP中有多個條件
$details = array(
array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'),
array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n'),
array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'),
array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'),
array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n')
);
在這裏我想用頭和membkey進行排序。同樣membkey元素的頂級元素應該有「頭= Y」和作爲呼應,
$details = array(
array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'),
array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n'),
array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'),
array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'),
array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n')
);
我嘗試瞭如下
function orderbymemberKey($a, $b){
if ($a[membkey] == $b[membkey])
return 0;
return($a[membkey] < $b[membkey])? -1 :1;
}
usort($details, orderbymemberKey);
and it successfully order by membkey.
任何建議,請。
你需要更加清晰。你的問題是一團糟。 – 2010-08-31 05:03:49
爲我的答案增加了一個通用的「sort_by」函數,可以讓你更容易 – 2010-08-31 07:17:53