Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以合并保留为变量的数组吗?_Php_Arrays_Merge - Fatal编程技术网

Php 我可以合并保留为变量的数组吗?

Php 我可以合并保留为变量的数组吗?,php,arrays,merge,Php,Arrays,Merge,我有一个包含数组名称的数组 $names_array[] = ('$array1', '$array2', $array3'....) $names\u数组[]是动态更新的,因此它可能包含2个或更多不同的名称 执行脚本时,需要合并$names\u array[]中列出的数组的值 我认为在合并的情况下,这不是一个问题 你可以合并$result=array\u merge($array1,$array2) 我认为这可以通过变量来实现 $arraymerge = array(); foreach (

我有一个包含数组名称的数组

$names_array[] = ('$array1', '$array2', $array3'....)
$names\u数组[]
是动态更新的,因此它可能包含2个或更多不同的名称


执行脚本时,需要合并
$names\u array[]
中列出的数组的值

我认为在合并的情况下,这不是一个问题

你可以合并$result=array\u merge($array1,$array2)


我认为这可以通过变量来实现

$arraymerge = array();
foreach ($names_array as $arrayname)
    {
    $arraymerge = array_merge($arraymerge, ${$arrayname});
    }

谢谢你的帮助。。。我已经解决了这个问题:如果有人需要合并动态生成的数组,在我的例子中,我有六个存在或不存在的数组,所以我需要合并现有的数组。我所做的是:

if(!is_array($array1[$i])) $array1[$i]=array();
if(!is_array($array2[$i])) $array2[$i]=array();
if(!is_array($array3[$i])) $array3[$i]=array();
if(!is_array($array4[$i])) $array4[$i]=array();
if(!is_array($array5[$i])) $array5[$i]=array();
if(!is_array($array6[$i])) $array5[$i]=array();

$combineddata[$i]=array_merge($array1[$i], $array2[$i],$array3[$i],$array4[$i], $array5[$i], $array6[$i]);
如果“array_x[$i]”不存在,array_merge不会中断脚本,只合并空数组


谢谢

参数#2不是一个数组。我编辑了我的答案,以显示没有“$”符号的正确答案
if(!is_array($array1[$i])) $array1[$i]=array();
if(!is_array($array2[$i])) $array2[$i]=array();
if(!is_array($array3[$i])) $array3[$i]=array();
if(!is_array($array4[$i])) $array4[$i]=array();
if(!is_array($array5[$i])) $array5[$i]=array();
if(!is_array($array6[$i])) $array5[$i]=array();

$combineddata[$i]=array_merge($array1[$i], $array2[$i],$array3[$i],$array4[$i], $array5[$i], $array6[$i]);