检查数组是否存在于另一个数组

时间:2015-12-14 14:52:48

标签: php arrays

我有2个多维数组

ARRAY1

0 => array (105, 44, 20, 0)
1 => array (106, 44, 21, 2)
2 => array (107, 45, 20, 0)

数组2

0 => array (124, 44, 20, 1)
1 => array (105, 44, 20, 0)
2 => array (107, 45, 20, 0)

现在我需要找出array1中的元素是否在array2中没有更改。

我需要创建array1,然后用户更改数组中的某些值,删除一些数组或重新排序。它将创建array2。之后我需要比较array1 [0]中的数组及其所有值是否存在于array2中,并对array1中的所有元素进行比较。如果array1中的元素在array2中是相同的,我将它保存到db。如果删除了元素并且不在array2中,或者某些值已更改,我需要从db中删除它。 非常感谢

2 个答案:

答案 0 :(得分:0)

我没有想到你的情况,但我想你是在问这个:

$array1=array(0 => array (105, 44, 20, 0),
1 => array (106, 44, 21, 2),
2 => array (107, 45, 20, 0));

$array2 = array(0 => array (124, 44, 20, 1),
1 => array (105, 44, 20, 0),
2 => array (107, 45, 20, 0));

for($i = 0; $i < sizeof($array1); $i++){


    for($j = 0; $j < sizeof($array2); $j++){


        if(empty(array_diff($array1[$i], $array2[$j])))

            die("exist"); // so array1[$i] exist in array2
    }
}

答案 1 :(得分:0)

$index1 = 0
$index2 = 0

foreach ($array1 as $value1)
{
    $index1++;
    foreach ($array2 as value2)
    {
        if (!empty(array_diff ($value1, $value2))
            // $array[$index1] !== $array[$index2]
        else
            // $array[$index1] == $array[$index2]

        $index2++;
    }
}