Array_merge未知数量的数组作为变量变量

时间:2014-10-08 15:40:50

标签: php arrays merge

感谢您一如既往的帮助。

我的代码以下列格式生成数组

${'readyformerge' . $b} = $temparraytwo;

这导致数组名称为

$readyformerge1
$readyformerge2
$readyformerge3

等...

效果很好,我们知道$ b持有的值是我们需要合并的数组量。但是,当我们在运行脚本之前不知道将要创建多少个数组时,我无法完全了解如何执行此操作。

从根本上说,我想使用以下内容来获取结果,但正如您所看到的那样,我只能对结果量执行此操作,因此它将返回实际的结果数。有什么帮助吗?

$outputmultidimensionalevent = array_merge_recursive(${'readyformerge' . $b},${'readyformerge' . $b});
print_r($outputmultidimensionalevent); echo '<br/>';

2 个答案:

答案 0 :(得分:2)

你的问题是设计糟糕的结果。

而不是:

${'readyformerge' . $b} = $temparraytwo;

你应该这样做:

$readyformerge[$b] = $temparraytwo;

然后:

$merged = array();

foreach ($readyformerge as $one) {
    $merged = array_merge($merged, $one);
}

答案 1 :(得分:0)

谢谢,这促使我朝着正确的方向前进。

所以目前它的设置如下:

    $z=1;
    $readyformergemulti = array();
    while ($z <= $i){
    array_push($readyformergemulti,${'readyformerge' . $z});
    $z++;
    }
    foreach ($readyformergemulti as $one) {
        print_r($one);
        echo '<br/>';
    $merged = array_merge_recursive($merged, $one);
    }
    print_r($readyformergemulti); echo '<br/>';
    print_r($merged); echo '<br/>';

但遗憾的是,合并后的回报什么都没有。如果您查看以下内容,前4行是$ readyformerge数组,第5行是所需的结果:

Array ( [house] => 2797 ) 
Array ( [house] => 2829 ) 
Array ( [house] => 2736 )
Array ( [electronica] => 2763 [house] => 2763 ) 
Array ( [electronica] => Array (2763) [house] => Array (2763,2797,2892,2736 ) )

很抱歉很痛苦,我知道每个人都需要看到更多的代码,但是有数千条线路难以显示!

如果你能再次帮助那就太棒了!