2017-10-18 90 views
1

可能是一個重複的鍵...PHP:比較數組的值返回不同的

Array1 = ['a'=>1, 'b'=>2, 'c'=>3]; 
Array1 = ['a'=>1, 'b'=>2, 'c'=>'anaconda']; 
$keys = ISTHEREAFUCNTION(array1, array2); 

echo ($keys); 

// c 

是否有按值進行比較陣列和返回從數組2的值不同陣列1值的鍵的功能?

我可以只是遍歷這兩個數組,但也許有一個更優雅的解決方案?

謝謝!

+0

谷歌:PHP數組的區別。 http://php.net/manual/en/function.array-diff.php –

回答

1

使用array_diff()array_keys()

$ cat test.php 
<?php 

$arr1 = ['a'=>1, 'b'=>2, 'c'=>3]; 
$arr2 = ['a'=>1, 'b'=>2, 'c'=>'anaconda']; 
print_r(array_keys(array_diff($arr1,$arr2))); 

?> 

$ php test.php 
Array 
(
    [0] => c 
) 
+0

謝謝!覺得愚蠢)我認爲array_diff只返回diff.values,並重新寫入鍵:) –