PHP 当中的array_multisort函数
array_multisort(array1,sorting order,sorting type,array2,array3...)
官方解释是函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
我的理解是先将array1按照规则进行排序,完事之后,array2后面的数组按照array1里面的排序规则进行排序。
举个栗子:
<?php
$array1 = array(0, 20, 30, 10, 100);
$array2 = array(1, 20, 100, 10, 30);
array_multisort($array1, $array2);
print_r($array1);
print_r($array2);
?>
以上输出结果是
Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 100 )
Array ( [0] => 1 [1] => 10 [2] => 20 [3] => 100 [4] => 30 )
第一个array按照值升序排序,原第4个元素提到原第2个元素的位置,其他元素依次进行排序。
第一个array排序完成之后,第二个array按照第一个array排序规则进行排序,也是原第4个元素提到原第2个元素的位置,其他依次排序。