我有些难以理解array_multisort。
当两个值相同时,看看它是如何排序的:
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
上面代码的输出结果将会是:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => Missy [1] => Fido [2] => Pluto )
请告诉我为什么Missy排在第一位,如果按升序排序,结果应该是 Array ( [0] => Fido, [1] => Missy, [2] => Pluto ) 如果按降序排序,则相反。
另外,请查看以下内容:
带有排序参数:
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
print_r($a1);
print_r($a2);
上述代码的输出结果将会是:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => Missy [1] => Pluto [2] => Fido )
但是,数组 ( [0] => Missy [1] => Pluto [2] => Fido ) 在未按 SORT_DESC 排序时有些混乱。
有人可以解释一下数组多重排序如何工作,以便我可以理解它的工作原理。
sort()
的。 - Mario