保留二维数组的行,其中指定列的值存在于平面白名单数组中

问题描述 投票:0回答:1

我需要获得两个具有不同维度的数组的交集,但我不知道是否可以使用

array_intersect()

我尝试这样做:

$result = array_intersect ($ONE, $TWO)

但它不起作用。

$一:

Array
(
    [0] => Array
        (
            [name] => monday-1
            [title] => monday-1
            [id] => 2878
        )

    [1] => Array
        (
            [name] => tuesday-1
            [title] => tuesday-1
            [id] => 3180
        )

    [2] => Array
        (
            [name] => friday-1
            [title] => friday-1
            [id] => 3181
        )

)

还有两美元:

    Array
(
    [1] => monday-1
    [2] => tuesday-1
    
)

所以我需要得到

Array
(
    [0] => Array
        (
            [name] => monday-1
            [title] => monday-1
            [id] => 2878
        )

    [1] => Array
        (
            [name] => tuesday-1
            [title] => tuesday-1
            [id] => 3180
        )
)
php arrays multidimensional-array filtering array-intersect
1个回答
0
投票

我想我有一个解决方案:

 for ($i = 1; $i <= count($two); $i++)
{
    for ($j = 0; $j < count($one) ; $j++){
          if ($two[$i] == $one[$j]['name']  )
        {
           $result[$j]['name']=$one[$j]['name'];
           $result[$j]['title']=$one[$j]['title'];
           $result[$j]['id']=$one[$j]['id'];

        }
    }
    }
© www.soinside.com 2019 - 2024. All rights reserved.