array_multisort 第二个数组没有正确排序

示例错误代码

$array1 = [5, 3, 1, 5, 7];
$array2 = ['ab','ac','ad','aa','ae'];

array_multisort($array1,$array2);

var_dump($array1,$array2);

我们希望array2输出结果顺序是 ad, ac, ab, aa, ae
但实际输出结果如下:

//$array1
array(5) {
  [0]=> int(1)
  [1]=> int(3)
  [2]=> int(5)
  [3]=> int(5)
  [4]=> int(7)
}
//$array2
array(5) {
  [0]=> string(2) "ad"
  [1]=> string(2) "ac"
  [2]=> string(2) "aa"
  [3]=> string(2) "ab"
  [4]=> string(2) "ae"
}

使用array_multisort()函数时需要注意如果第一个数组中存在相同的值,那对应的第二个数组的值会默认按顺序排序。

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!