//mergeAllArrays获取开放数量的数组,并将它们合并为一个大数组。
function mergeAllArrays() {
$numargs = func_num_args();
$arg_list = func_get_args();
$a = array();
for ($i = 0; $i < $numargs; $i++) {
array_merge($a, $arg_list[$i]);
}
print_r($a);
mergeAllArrays($array1,$array2,$array3)
空出来了。。。当然,单独的阵列是单独定义的简单的非关联阵列(例如$array1 = array("item1","item2",etc)
)
有人能帮忙吗?
您可以直接使用array_merge
或者如果你只想使用你的方法,那么用替换你的代码
function mergeAllArrays() {
$numargs = func_num_args();
$arg_list = func_get_args();
$a = array();
for ($i = 0; $i < $numargs; $i++) {
$a = array_merge($a, $arg_list[$i]);
}
var_dump($a);
}
mergeAllArrays($array1,$array2,$array3);
在您的代码中,缺少一个右括号和合并数据存储变量,我添加了
您必须将新值分配给$a:
// mergeAllArrays takes an open number of arrays and merges them into one large array.
function mergeAllArrays() {
$numargs = func_num_args();
$arg_list = func_get_args();
$a = array();
for ($i = 0; $i < $numargs; $i++) {
$a = array_merge($a, $arg_list[$i]);
}
print_r($a);
}
mergeAllArrays($array1,$array2,$array3);
但我想知道你是否真的需要这个,因为你的函数和php原生函数array_merge(它也可以接受多个数组)是一样的。