Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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,谢谢你一如既往的帮助 我的代码生成以下格式的数组 ${'readyformerge' . $b} = $temparraytwo; 这将导致 $readyformerge1 $readyformerge2 $readyformerge3 等等 这很有效,我们知道$b的值就是需要合并的数组数量。然而,当我们在运行脚本之前不知道将创建多少个数组时,我不太明白如何做到这一点 从根本上说,我想用下面的方法来获取结果,但正如你所看到的,我只能对结果的数量进行分析,我认为它不会返回实际的结果数量。有什么

谢谢你一如既往的帮助

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

${'readyformerge' . $b} = $temparraytwo;
这将导致

$readyformerge1
$readyformerge2
$readyformerge3
等等

这很有效,我们知道$b的值就是需要合并的数组数量。然而,当我们在运行脚本之前不知道将创建多少个数组时,我不太明白如何做到这一点

从根本上说,我想用下面的方法来获取结果,但正如你所看到的,我只能对结果的数量进行分析,我认为它不会返回实际的结果数量。有什么帮助吗

$outputmultidimensionalevent = array_merge_recursive(${'readyformerge' . $b},${'readyformerge' . $b});
print_r($outputmultidimensionalevent); echo '<br/>';
$outputmultidimensionalevent=array_merge_recursive(${'readyformerge'.$b},${'readyformerge'.$b});
打印(输出多维事件);回声“
”;
您的问题是设计不当造成的

而不是:

${'readyformerge' . $b} = $temparraytwo;
你应该这样做:

$readyformerge[$b] = $temparraytwo;
    $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/>';
然后:

$merged = array();

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

谢谢,这把我推向了正确的方向

因此,目前它的设置如下:

$readyformerge[$b] = $temparraytwo;
    $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/>';
很抱歉,这让人很痛苦,我知道每个人都需要看到更多的代码,但由于有数千行代码,所以很难显示出来


如果你能再帮我一次,那就太好了

谢谢@bodgan,我已经在下面进一步解释了。到目前为止,你给我指明了正确的方向!