我有一个多维数组,这个数组我必须转换为带排序的单个数组。我试图使用call_user_func_array('array_merge', $ranges);
这个函数。使用此函数后获取单个数组。当我在单个数组上使用sort()
函数时,显示输出1
。
我的阵列
Array
(
[range1] => Array
(
[0] => 1113
[1] => 2224
)
[range2] => Array
(
[0] => 500
[1] => 1112
)
[range3] => Array
(
[0] => 2225
[1] => 4446
)
)
使用call_user_func_array('array_merge', $ranges);
输出
Array
(
[0] => 1113
[1] => 2224
[2] => 500
[3] => 1112
[4] => 2225
[5] => 4446
)
现在我使用sort()
函数然后显示1
。为什么会这样?
答案 0 :(得分:2)
你快到了。在sort()
函数中,数组通过引用传递,成功时返回true
,失败时返回false
。所以你应该在扁平数组上应用sort()
函数,如下所示:
$array = call_user_func_array('array_merge', $ranges);
sort($array);
// display sorted array
var_dump($array);
以下是参考资料:
答案 1 :(得分:1)
sort()
函数按引用工作并返回true
或false
,因此无需将结果赋值给变量,因为源变量已通过引用更改