0

我在这里寻求某人的知识。

现在,我需要将几个数组合并成一个更大的数组,但是所有这些数组都依赖于一个函数。

此函数返回一个数值数组,其中包含 1 和 7 之间的不同数量的数字:

function Possible($i, $j, $grid)
$possible = Possible($i, $j, $grid)

我正在使用网格,该函数为网格的每种情况返回一个不同的数组。我想做的是将这 7 个数组合并到另一个数组中。在这个大数组中,一些数字可能不止一次出现,但我希望这样。

我尝试使用 for 循环、while 循环和其他一些技术,但没有任何效果。在这种情况下,不可能手动定义每个数组,因为它们会根据网格中包含的内容而变化,而且数量太多。它必须自动完成,这就是我卡住的地方。

for ($jj=0; $j<7; $j++){
    $possRow = array_merge( ###what do I add here or what do I change in this code to make everything work###

如果有人可以帮助我,谢谢!

ETPI

4

2 回答 2

1

希望这有帮助:

  $biggerOneArray = array();
    for($k=0;$k<7;$k++) {
     $biggerOneArray[] = Possible($i,$j,$grid);
}

然后你可以检查你更大的数组,可能包含循环迭代的所有数组(合并了 7 个数组)。

var_dump($biggerOneArray);

输出应该是这样的:

array(
      (int) 0 => array(
           'key' => 'value',
           'key2' => 'value2'
           ),
      (int) 1 => array(
           'key3' => 'value3',
           'key4' => 'value4'
            )
)

ETC...

于 2012-04-13T03:19:55.567 回答
0

对不起,你的描述不是很清楚。但为了让您入门,您可能会查看此解决方案。

function Possible($i, $j, $grid) {
    // some code ... e.g. $array[] = "some data";

    return $array;
}

通过为每个网格创建一个小数组并使用它返回它,return $array您可以获得一些小数组,您可以将它们放入一个for循环中以将其合并为一个更大的数组。但是我相信 var$jj在它自身的功能中也必须具有某些含义。

for($jj=0;$jj<7;$jj++) {
    $merged_array[$jj] = Possible($i,$j,$grid);
}

也许如果您更多地描述您的问题并发布您使用的数组的示例,我可以给您一个更好的答案。

于 2012-04-13T02:33:03.650 回答