簡體   English   中英

使用array_multisort時出現“數組大小不一致”錯誤

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM