我试图通过多个值对多维数组进行排序,但我不断收到错误:
Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in - on line 19
第19行是我调用array_multisort函数的地方:
array_multisort($column1, $column2, $column3, $row);
我一直无法在测试中复制这个问题,所以我没有太多运气来解决这个问题.
所以基本上我将MySql表保存为多维关联数组.然后我试图通过三个不同的列对行进行排序.我检查过并且传入array_multisort()函数的所有数组都是相同的大小.我通过手动查看每一行并使用来检查两者sizeof().
什么可能导致这个和/或解决方案是什么?
小智 5
回答你的原始问题,这通常发生在一个未经启动的变量上.例如:
foreach ($arr_this_referers as $int_key => $arr_row) {
$arr_vol[$int_key] = $arr_row['int_cnt'];
}
Run Code Online (Sandbox Code Playgroud)
由于未启动的变量$ 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);
Run Code Online (Sandbox Code Playgroud)
...&警告消失,希望这会有所帮助.
| 归档时间: |
|
| 查看次数: |
5366 次 |
| 最近记录: |