Php 当两个数组都是多维数组时,检查数组A是否包含数组B中的所有项

Php 当两个数组都是多维数组时,检查数组A是否包含数组B中的所有项,php,arrays,associative-array,jagged-arrays,array-intersect,Php,Arrays,Associative Array,Jagged Arrays,Array Intersect,我想检查一下,如果数组A包含来自数组B的所有项,那么当两个数组都是多维数组时,可能包含其他项,但必须包含所有项,即可以包含不同的变量类型 我看到了很多,尤其是,还有,还有。我读过PHP文档。我检查过的所有内容都失败了,需要注意数组到字符串的转换。尤其是使用或 我使用的是严格的错误检查,所以通知实际上保留了整个脚本的进一步执行,这是我通常不喜欢也不想避免的事情。在这种情况下可能吗 我的数组是: Array ( [0] => content/manage/index [Cont

我想检查一下,如果数组A包含来自数组B的所有项,那么当两个数组都是多维数组时,可能包含其他项,但必须包含所有项,即可以包含不同的变量类型

我看到了很多,尤其是,还有,还有。我读过PHP文档。我检查过的所有内容都失败了,需要注意数组到字符串的转换。尤其是使用或

我使用的是严格的错误检查,所以通知实际上保留了整个脚本的进一步执行,这是我通常不喜欢也不想避免的事情。在这种情况下可能吗

我的数组是:

Array
(
    [0] => content/manage/index
    [Content] => Array
        (
            [title] => 
            [type] => 5
            [category] => 
            [recommended] => 
            [featured] => 
            [status] => 
            [views] => 
            [last_access_date] => 
            [creation_date] => 
            [modification_date] => 
            [availability_date] => 
            [author_id] => 
        )

)
我的数组B是:

Array
(
    [0] => /content/manage/index
    [Content] => Array
        (
            [type] => 1
        )

)

那么,如果我可以在包含不同变量类型的多维数组上使用array\u intersect而不被通知,我有什么办法可以做到呢?

我的问题和疑问来自误解,数组到字符串的转换通知的真正含义是什么。在我的例子中,它试图告诉我,我正在尝试使用设计用于一维数组的函数遍历多维数组

理解这一点让我在几秒钟内找到了解决方案。这里有很多这样的人,但是deceze给我的那个看起来最适合我。因此,我将其采纳为此类功能的形式:

function recursiveArrayIntersect($array1, $array2)
{
    $array1 = array_intersect_key($array1, $array2);

    foreach($array1 as $key=>&$value)
    {
        if(is_array($value)) $value = recursiveArrayIntersect($value, $array2[$key]);
    }

    return $array1;
}
我在我的项目和我的编码方式中采用了它,但所有的学分仍然归deceze所有

现在我可以找到几乎任何数组的交集,不管它包含什么类型的变量,也不管它有多深,它包含多少子数组