2016-11-27 162 views
-2

這用的是陣列的print_r的,最後一個是結果:如何和array_diff

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項數組,由於某種原因,我得到整個第一個數組,如果我把第二個數組放在函數中,我得到第二個的所有條目。

+3

你的代碼在哪裏? – segFault

+1

如果您只是想知道如何使用該功能,請檢查[docs](http://php.net/manual/en/function.array-diff.php),它確實非常簡單。 – segFault

回答

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 
) 
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)