array_multisort():数组大小不一致 [英] array_multisort(): Array sizes are inconsistent
本文介绍了array_multisort():数组大小不一致的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用array_multisort()
函数在其子数组的基础上对数组进行排序...
I am trying to sort an array on the base of its child array using array_multisort()
function......
正在尝试;
print_r($mar); echo '<br>';
$arr2 = array_multisort($mar, array('wek'=>SORT_ASC));
print_r($arr2);
得到错误array_multisort(): Array sizes are inconsistent
排序前的输出是
Array (
[0] => Array ( [dat] => 1 [wek] => 5 [mac] => A100 [mcr] => #00c8ff )
[1] => Array ( [dat] => 2 [wek] => 9 [mac] => A100 [mcr] => #00c8ff )
[2] => Array ( [dat] => 5 [wek] => 13 [mac] => A100 [mcr] => #00c8ff )
[3] => Array ( [dat] => 5 [wek] => 6 [mac] => A101 [mcr] => #ff8800 )
[4] => Array ( [dat] => 13 [wek] => 17 [mac] => A100 [mcr] => #00c8ff )
[5] => Array ( [dat] => 20 [wek] => 21 [mac] => A100 [mcr] => #00c8ff )
[6] => Array ( [dat] => 8 [wek] => 14 [mac] => A101 [mcr] => #ff8800 )
)
我需要的是:
Array (
[0] => Array ( [dat] => 1 [wek] => 5 [mac] => A100 [mcr] => #00c8ff )
[3] => Array ( [dat] => 5 [wek] => 6 [mac] => A101 [mcr] => #ff8800 )
[1] => Array ( [dat] => 2 [wek] => 9 [mac] => A100 [mcr] => #00c8ff )
[2] => Array ( [dat] => 5 [wek] => 13 [mac] => A100 [mcr] => #00c8ff )
[6] => Array ( [dat] => 8 [wek] => 14 [mac] => A101 [mcr] => #ff8800 )
[4] => Array ( [dat] => 13 [wek] => 17 [mac] => A100 [mcr] => #00c8ff )
[5] => Array ( [dat] => 20 [wek] => 21 [mac] => A100 [mcr] => #00c8ff )
)
推荐答案
以下行中存在错误:
$arr2 = array_multisort($mar, array('wek'=>SORT_ASC));
您正尝试将返回结果存储到数组中,但array_multisort返回布尔值而不是已排序数组:
you are trying to store the return result to an array, but array_multisort returns boolean values not the sorted array:
执行此操作以对多维数组 $ mar 进行排序:
do this for sorting your multidimensional array $mar:
foreach ($mar as $key => $row)
{
$wek[$key] = $row['wek'];
}
// Sort the data with wek ascending order, add $mar as the last parameter, to sort by the common key
array_multisort($wek, SORT_ASC, $mar);
$ mar 数组现在在上述操作之后进行排序..
The $mar array is now sorted after the above operations..
这篇关于array_multisort():数组大小不一致的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文