【问题标题】:PHP: compare arrays by values return keys of differentPHP:按值比较数组返回不同的键
【发布时间】:2017-10-18 09:05:24
【问题描述】:

可能是重复的...

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

echo ($keys);

// c

是否有一个函数可以按值比较数组并返回array1值与array2值不同的键?

我可以只对两个数组进行迭代,但也许有更优雅的解决方案?

谢谢!

【问题讨论】:

标签: php arrays compare


【解决方案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
)

【讨论】:

  • 谢谢!现在感觉很愚蠢)我认为array_diff只返回diff.values,并重写键:)
【解决方案2】:

使用array_keysarray_diff_assoc

array_keys(array_diff_assoc($array1, $array2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多