php 多数组排序

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:19:35
<?
$ar1= array('one'=>"zero",3=>"one",4=>"two");
$ar2=array(4=>"three",9=>"four",1=>"five");
array_multisort($ar1,$ar2);
foreach($ar1 as $key=>$value){
echo"Key:$key;Value:$value;";
}
echo "<br>";
foreach ($ar2 as $key=>$value){
echo "key:$key;Value:$value ";
}
echo "<br>";
echo $ar1['one'];?>
结果:Key:0;Value:one;Key:1;Value:two;Key:one;Value:zero;
key:0;Value:four key:1;Value:five key:2;Value:three
请问一下,这个函数可以排多个数组,但第二个结果应该是five four three,为什么结果会这样呢?谢谢~
$array=array("ar1"=>array(5=>100,3=>120,4=>30),
"ar2"=>array(4=>"three",9=>"four",1=>"five"));
array_multisort($array["ar1"],SORT_NUMERIC,SORT_DESC,$array["ar2"],SORT_STRING,SORT_ASC);
foreach($

那是你没有搞懂array_multisort函数,这个函数对第一个数组进行排序,后面的数组跟随第一个数组进行移动,对于你的例子:

$ar1= array('one'=>"zero",3=>"one",4=>"two");
排序后是:
Array
(
[0] => one
[1] => two
[2] => zero
)
也就是顺序调整为原来的1、2、0,第二个数组也会按照1、2、0的顺序调整为:
four、five、three