数组大小不一致警告不会消失

时间:2015-05-13 07:11:35

标签: php arrays multidimensional-array

编辑已添加:

我有这个多维数组,我排序:

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个相同的多维数组进行排序时,我遇到了同样的问题。也许它现在更清楚了。

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大家的帮助和建议。