[英]“Array sizes are inconsistent” error while using array_multisort
我正在嘗試按多個值對多維數組進行排序,但我不斷收到錯誤:
Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in
on line 19
- Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in
第19行是我調用array_multisort函數的地方:
array_multisort($column1, $column2, $column3, $row);
我無法在測試中復制問題,因此我在解決問題上沒有太多運氣。
因此,基本上我將MySql表保存為多維關聯數組。 然后,我試圖按三個不同的列對行進行排序。 我檢查了所有傳遞給array_multisort()
函數的數組的大小。 我通過手動查看每一行並使用sizeof()
。
有什么想法可能導致這種情況和/或解決方案是什么?
為了回答您的原始問題,通常會在未初始化的變量的情況下發生這種情況。 例如:
foreach ($arr_this_referers as $int_key => $arr_row) {
$arr_vol[$int_key] = $arr_row['int_cnt'];
}
由於未初始化的變量$ arr_vol將導致警告,但在for循環之前初始化變量:
$arr_vol = array();
foreach ($arr_this_referers as $int_key => $arr_row) {
$arr_vol[$int_key] = $arr_row['int_cnt'];
}
array_multisort($arr_vol, SORT_DESC, $arr_this_referers);
...&警告消失,希望這會有所幫助。
我只用了uasort()
就結束了。 它一點也沒有給我帶來任何問題,並且直接建立cmp邏輯也很簡單。
仍然不知道array_multisort()
的問題是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.