【问题标题】:How to merge multiple arrays that are depending on a function in PHP?如何合并依赖于 PHP 中函数的多个数组?
【发布时间】:2012-04-25 10:35:33
【问题描述】:

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

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

此函数返回一个数值数组,其中包含 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

【问题讨论】:

  • 请发布 数组内容 的示例以及您希望结果的示例。你对情况的描述不是很清楚。

标签: php arrays merge array-merge


【解决方案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'
            )
)

等等……

【讨论】:

  • var_dump($biggerOneArray);这会返回很多消息:array empty 似乎没有向 $biggerOneArray 添加任何值。
  • 那么你应该检查你的函数“可能”是否返回一个数组。
【解决方案2】:

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

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);
}

也许如果你再描述一下你的问题并发布一个你使用的数组的例子,我可以给你一个更好的答案。

【讨论】:

  • 是的,对 jj 变量感到抱歉,它们应该只是“j”。刚刚编辑了那个。 [目前正在写更多信息]
  • 对 jj 变量很抱歉,它们应该只是“j”。刚刚编辑了那个。我想这可能有点难以理解。这是功能。 >function Possible($i, $j, $grid){ $Row = PossibleRow($i, $grid); $Column = PossibleColumn($j, $grid); $inter2 = array_intersect($Row, $Column); return $inter2; 我正在使用的数组示例:函数 Possible(3, 4, $grid) 返回一个像这样的数组 (1, 3, 4, 5)
  • 它包含从 1 到 7 的数字,每个案例的数组有 1 到 7 个数字。我试图将每行网格的每个数字的每个值存储在一个更大的数组中,这就像:(1、2、2、4、4、5、5、5、5、6 , 6, 7, 7, 7)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 2021-10-06
  • 2013-09-26
  • 2013-04-01
  • 1970-01-01
相关资源
最近更新 更多