如何在PHP中创建一个空的2d数组并为其赋值?

时间:2015-09-29 17:11:50

标签: php arrays multidimensional-array foreach

我创建了一个空的2d数组:

multiArray = array(array());

我想使用foreach语句向2d数组添加项目,这样对于每个项目,添加与其相关的第二个数组的所有项目。这将构建我的2D阵列。我正在这样做:

# The following variables are prepopulated with items 
# $array1, my first array of items
# $array2, my second array of items

foreach ($array1 as $item1) {
    foreach ($array2 as $item2) {
        if ($item2['marker'] === $item1['marker'] { //item2 belongs to item 1 and thus needs to be added to the 2d array
            $mulitArray[][] = [$item1][$item2];
        }
    }
}

虽然逻辑上似乎听起来没有用,但PHP不喜欢$mulitArray[][] = [$item1][$item2]

我的预期输出是一个二维数组,可以显示每个item1,匹配的所有item2

先谢谢了。

1 个答案:

答案 0 :(得分:3)

也许是这样的。

$multiArray = array();
foreach ($array1 as $item1) {
    $a = array();
    foreach ($array2 as $item2) {
        if ($item1['marker'] == $item2['marker']) {
            $a[] = $item2;
        }
    }
    $multiArray[] = $a;
}