如何在第一个数组数据中查找第二个数组数据?

How to Search Second Array Data in First Array Data?

php,我是php的新人,有人帮我吗? 我有两个数组,在 Array2 我有两条记录,我想检查 Array2 的数据是否在 Array1 中,我如何检查 Array2 的数据Array1 可用与否!

提前致谢

数组 1

    [items] => Array
    (
        [0] => Array
            (
                [abc] => z1
                [xyz] => cool
                [val] => 2.32
                [color] => D
             )
         [1] // i have 5o records in array1
     );

数组 2

    [items] => SearchArray
    (
        [0] => Array
            (
                [abc] => z1
                [xyz] => cool
                [val] => 2.32
                [color] => D
             )
         [1] // i have 2 records
     );

可以用array_search的方法。有关详细信息,请查看手册参考:http://php.net/manual/en/function.array-search.php

请尝试此代码 - 我希望它能有所帮助:

$matches = array();

for($i2 = 0; $i2 < count($Array2); $i2++)
{
    for($i1 = 0; $i1 < count($Array1); $i1++)
    {
        $bMatch = TRUE;
        foreach($Array1[$i1] as $key => $val)
        {
            if($Array2[$i2][$key] !== $val)
            {
                $bMatch = FALSE;
                break;
            }
        }
        if($bMatch)
        {
            $matches[] = array($i2, $i1);
        }
    }
}

它遍历两个数组,比较元素(实际上是子数组),只有当来自 $Array2 的子数组的所有元素都等于来自 $Array2 的子数组的所有元素时,它们才相等$Array1。如果找到匹配项,则将 ($i2, $i1) 对添加到 $matches 数组中,因此最后,根据您的示例,您将得到如下内容:

$matches => array  (
               [0] => array (0, 0)
               ...
            )

我希望所做的假设是正确的。