如何在循环之外合并多个数组?

时间:2016-10-14 17:06:44

标签: php arrays

我正在尝试从其他2个数组创建一个数组。我在将它们合并到循环之外时遇到了问题。

以下是构建2个数组的代码:

$redDogs = '3';
$blueDogs = '2';

$i = 1;
// build red dogs array
$redDogs = (int)$redDogs;
while($i <= $redDogs) {
    $reds[] = 'red_dog_' . $i++;
}

    foreach ($reds as $red) {
        print '<pre>'; print_r($red); print '</pre>';
    }

$j = 1;
// build blue dogs array
$blueDogs = (int)$blueDogs;
while($j <= $blueDogs) {
    $blues[] = 'blue_dog_' . $j++;
}

    foreach ($blues as $blue) {
        print '<pre>'; print_r($blue); print '</pre>';
    }

我怎样才能创建一个像:

这样的数组
print_r($alldogs);

产生以下输出:

Array {
    [0] => red_dog_1
    [1] => red_dog_2
    [2] => red_dog_3
    [3] => blue_dog_1
    [4] => blue_dog_2
}

我尝试过array_merge($ red,$ blue),但似乎没有得到任何值。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

$redDogs = '3';
$blueDogs = '2';

$i = 1;
// build red dogs array
$redDogs = (int)$redDogs;
while($i <= $redDogs) {
    $reds[] = 'red_dog_' . $i++;
}

$j = 1;
// build blue dogs array
$blueDogs = (int)$blueDogs;
while($j <= $blueDogs) {
    $blues[] = 'blue_dog_' . $j++;
}

print_r(array_merge($reds, $blues));

在循环遍历数组之前合并数组。

您的foreach语句将您的数组转换为字符串。