PHP array_multisort手动示例

时间:2011-02-25 17:46:48

标签: php arrays sorting

为什么4是$ ar2中的第一个值?我很确定4应该在排序数组的末尾,因为它自然地排序为SORT_ASC。

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>
  

在此示例中,排序后,第一个数组将包含0,10,100,100。第二个数组将包含4,1,2,3。第二个数组中的条目对应于第一个中的相同条目阵列(100和100)也被分类。

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

1 个答案:

答案 0 :(得分:4)

您已经从手册中复制了它:

  

在此示例中,排序后,第一个数组将包含0,10,100,100。第二个数组将包含4,1,2,3。第二个数组中的条目对应于相同的条目在第一个数组中(100和100)也被排序。

这意味着第二个数组按第一个数组的顺序排序(第一个数组定义第二个数组的顺序)

4中的

$ar20中的$ar1相对应。 0位于$a1的第一个位置,因此4$ar2中的第一个位置。