首页 > 解决方案 > PHP比较多维数组

问题描述

我有一个看起来像这样的 PHP 数组...

Array
(
    [section1] => Array
        (
            [1] => Array
                (
                    [item1] => 'green'
                    [item2] => 'red'
                    [item3] => 'purple'
                )
            [2] => Array
                (
                    [item1] => 'green'
                    [item2] => 'black'
                    [item3] => 'purple'
                )
        )
    [section2] => Array
        (
            [1] => Array
                (
                    [item1] => 'orange'
                    [item2] => 'pink'
                )
            [2] => Array
                (
                    [item1] => 'gray'
                    [item2] => 'pink'
                    [item3] => 'yellow'
                )
        )

我试图计算和之间的匹配11因此在上面的示例中,结果将是2第 1 节和第 2 节的结果。然后我试图将其输出为一个新数组。到目前为止,我有这个通过正确的部分循环,但从这里迷路了

foreach($array1 as $array1item) {

    foreach ($array1item as $array1nesteditem) {
        echo 'test | ';
    }

}

通过执行此嵌套循环,我是否走在正确的轨道上?还是有更直接的方法?

标签: phparrays

解决方案


$newArray = [];
foreach ($array1 as $key => $array1item) {
    $newArray[$key] = count(array_intersect(...$array1item));
}

推荐阅读