在键/值对中查找重复键

时间:2015-03-15 09:37:28

标签: php

我正在寻找帮助,找到解决以下问题的最佳解决方案。

我在他们自己的文件中有几个php数组,如下所示:

<?php
$language_array = Array(

  'key'=>'value',
  'key'=>'value'
);
?>

我想要做的是获取所有php数组文件中存在的重复键列表。

我虽然检查了第一个文件和第一个密钥,但是对所有其他文件进行检查。然后跳到下一个键继续。

所以我最终会得到一个这样的列表:

key = 'key' exist in all files

但是我不确定性能,如果我必须打开每个文件x次我有密钥。

任何帮助都非常感激。

编辑:

我现在使用临时数组解决了它,然后将当前键与temp进行比较,如果我已经看过它,将它添加到只有重复项的数组中。

性能明智我不确定这是否是最好的解决方案,但是使用array_intersect对我不起作用,因为我没有包含所有key =&gt;值的主数组

1 个答案:

答案 0 :(得分:0)

$aOne = Array(
    'key1'       =>'value1',
    'key2'       =>'value2',
    'key3'       =>'value3',
    'keyunique1' =>'uniquevalue1'
);
$aTwo = Array(
    'key2'       =>'value2',
    'key3'       =>'value3',
    'keyunique2' =>'uniquevalue2'
);
$aThree = Array(
    'key1'       =>'value1',
    'key2'       =>'value2',
    'key3'       =>'value3',
    'keyunique3' =>'uniquevalue3'
);
$aFour = Array(
    'key2'       =>'value2',
    'keyunique4' =>'uniquevalue4'
);

// Expected result key2 being the only one across all arrays.
$aUniques = array_intersect_key( $aOne, $aTwo, $aThree, $aFour );