如何通过键而不是值来执行PHP array_intersect?

时间:2016-01-11 12:12:48

标签: php arrays array-intersect

$master = ['111' => 'foo', '124' => 'bar', '133' => 'baz'];

$check = ['111' => 14, '133' => 23 ]';

我想从$master中删除$check中不存在的所有密钥。 所以这个例子的结果应该是:

$newMaster = ['111' => 'foo', '133' => 'baz'];

知道怎么做吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

是的,只需使用array_intersect_key()

即可
$newMaster = array_intersect_key($master, $check);

答案 1 :(得分:0)

是的,你可以简单地使用:

tclsh <<< 'puts [info patchlevel]'

答案 2 :(得分:0)

$master = ['111' => 'foo', '124' => 'bar', '133' => 'baz'];

$check = ['111' => 14, '133' => 23 ];


$intersectArray = array_intersect_key($master, $check);

此处的密钥将使用array_intersect_key()函数进行比较,它将比较$ master中的$ check键并给出结果,其中$ check键在$ master中匹配,并且您在{{1}中输出['111' => 'foo', '133' => 'baz']; }}

有关详细信息,请查看此链接http://php.net/manual/en/function.array-intersect-key.php