编辑已添加:
我有这个多维数组,我排序:
foreach ($IJ as $key => $row) {
$schap[$key] = $row['loc'];
$schap[$key] = $row['schap'];
$number[$key] = $row['number'];
$rest[$key] = $row['rest'];
}
array_multisort($number, SORT_ASC, $IJ);
这是得到排序字段的var_dump:
[0]=> string(2) "16" [1]=> string(2) "10" [2]=> string(2) "08" [3]=> string(2) "07" [4]=> string(2) "05" [5]=> string(2) "05" [6]=> string(2) "04" [7]=> string(2) "04" [8]=> string(2) "03" [9]=> string(2) "03" [10]=> string(2) "03"
它们的类型和长度都相同,但我仍然得到它们不一致的警告。我尝试了将所有值转换为int的所有内容。当我尝试对2个相同的多维数组进行排序时,我遇到了同样的问题。也许它现在更清楚了。
答案 0 :(得分:0)
如果您发表评论
$ number是要排序的维度的名称,$ EF是数组的名称。所以$ number是$ EF的元素
有效,那么这就是你应该做的:
array_multisort($EF[$number], SORT_ASC);
实际上,您不需要array_multisort
来实现此目的。另一个array sorting functions就够了。
答案 1 :(得分:0)
我确信我的代码没有任何问题所以我通过我的代码进行了一些挖掘,我发现在array_mulisort我的数组($ IJ)之前的几行中有更多的条目。这就是为什么它有16个条目而不是6个。
Thanx大家的帮助和建议。