php - array_multisort() : Array sizes are inconsistent

标签 php arrays codeigniter

我正在尝试使用 array_multisort() 在其子数组的基础上对数组进行排序功能......

在尝试的同时;

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 返回 bool 值而不是排序数组:

这样做是为了对多维数组进行排序 $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 数组现在在上述操作后排序..

关于php - array_multisort() : Array sizes are inconsistent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247844/

相关文章:

php - 在set_error_handler()之后,error_get_last()返回null。 PHP 7.0

php - 如何编写一个 mysql 查询来选择所有商店(纬度和经度) ORDER BY 更接近您的位置

javascript - 使用保存键按属性值对 Javascript 对象数组进行排序

javascript - 在 Javascript 中使用两个变量从数组中进行选择

foreach 循环中的 php key() 奇怪行为或获取 foreach 循环中的下一个键

mysql - CodeIgniter Mysql DB 查询的空结果集

php - 如何在动态 while 循环中引入事件 anchor 标记颜色?使用 php 和 mysql

PHP 网络服务 SOAPClient 错误

php - mysqli_real_escape_string() 是否足以防止 SQL 注入(inject)?

php - 使用 codeigniter 注册时遇到问题