0

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

$names_array[] = ('$array1', '$array2', $array3'....)

$names_array[]是动态更新的,因此它可能包含 2 个或更多不同的名称。

执行脚本时,$names_array[]需要合并列出的数组的值。

4

4 回答 4

0

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

你可以合并 $result = array_merge($array1, $array2);

http://php.net/manual/en/function.array-merge.php

于 2013-02-04T10:08:00.950 回答
0
$names_array = array ('array1', 'array2', 'array3');

$array1 = array ('a','b','c');
$array2 = array ('d','e','f');
$array3 = array ('g','h','i');

$result = array ();
foreach ($names_array as $x) {
    $result = array_merge ($result, $$x);
}

print_r ($result);
于 2013-02-04T10:10:48.857 回答
0

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

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 不会破坏脚本,只会合并空数组。

谢谢

于 2013-02-04T11:11:13.853 回答
0

我认为它可以用可变变量来完成。

$arraymerge = array();
foreach ($names_array as $arrayname)
    {
    $arraymerge = array_merge($arraymerge, ${$arrayname});
    }
于 2013-02-04T10:11:29.060 回答