如何通过键而不是通过值来实现PHP array_incross


How to do PHP array_intersect by keys not by values?

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

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

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

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

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

是的,只需使用array_intersect_key()

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

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

var_dump(array_intersect_key($master, $check));
$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中匹配的结果,您在$intersectArray 中得到输出['111' => 'foo', '133' => 'baz'];

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