我有点好奇为什么下面会抛出警告。
$obj->data = array(...); // note there are values stored (size 607)
var_dump(sizeof($obj->data)); // 607
array_multisort(
array_column($obj->data , 'col1'), SORT_ASC,
array_column($obj->data , 'col2'), SORT_ASC,
array_column($obj->data , 'col3'), SORT_ASC,
$obj->data
);
var_dump(sizeof($obj->data)); // 607
我收到的警告状态为
警告:array_multsort((:数组大小不一致
有人能给我比警告更多的信息吗?
作为变量传递给函数的数组大小不同:
array_multisort(
array_column($obj->data , 'col1'), SORT_ASC,
array_column($obj->data , 'col2'), SORT_ASC,
array_column($obj->data , 'col3'), SORT_ASC,
$obj->data
);
可能array_column($obj->data , 'col1')
(或col2或col3(具有比$obj->data
更少的元素
例如:
$ar = array(
array(1,2),
array(2,1)
);
array_multisort($ar[0], $ar[1]);
没有发出这个警告,但是
$ar = array(
array(1,2,3),
array(2,1)
);
array_multisort($ar[0], $ar[1]);
会的。