如何使用array_diff

时间:2016-11-27 07:28:15

标签: php arrays array-difference

这是数组的print_r,最后一个是结果:

Array ( [0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 ) 

Array ( [0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 [7] => 35 ) 

result:
Array ( [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 )

我想获得一个包含35个条目的数组,因为它只丢失了一个条目,并且出于某种原因,如果我将第二个数组放在函数中的第一个,我得到第一个数组,我得到第二个数组的所有条目。

2 个答案:

答案 0 :(得分:0)

使用array_diff时,会使用第一个数组,并针对传递的任何其他数组进行检查。

您的35就像这样:

$array1 = Array ( 28, 29, 30, 31, 32, 33, 34 );

$array2 = Array ( 28, 29, 30, 31, 32, 33, 34, 35 );

$diff = array_diff($array2, $array1);

print_r($diff);

给出:

Array
(
    [7] => 35
)

答案 1 :(得分:0)

使用数组函数array_diff(),您可以实现所需的目标。将$arr2$arr1进行比较,并返回$arr2中不存在$arr1中的值。

$arr1 = range(28, 34);
$arr2 = range(28, 35);

$arr = array_diff($arr2, $arr1);
print_r($arr); // Array ( [7] => 35 )