0

配列の名前を含む配列があります

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

$names_array[]動的に更新されるため、2 つ以上の異なる名前が含まれる場合があります。

スクリプトが実行されると、リストされた配列の値を$names_array[]マージする必要があります。

4

4 に答える 4

0

助けてくれてありがとう...私は問題を回避しました:誰かが動的に生成された配列をマージする必要がある場合、私の場合、存在するかどうかにかかわらず6つの配列があるため、既存のものをマージする必要があります。私がしたことは次のとおりです。

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
$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

可変変数でできると思います。

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

合流する場合は問題ないと思います

マージできます $result = array_merge($array1, $array2);

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

于 2013-02-04T10:08:00.950 に答える