Php 通过指定键获取数组的子集

Php 通过指定键获取数组的子集,php,arrays,Php,Arrays,是否有用于以下各项的内置功能: print_r(array_***([ 'foo' => 1, 'bar' => 2, 'baz' => 3, 'qux' => 4, ], ['foo', 'qux'])); 制作: Array ( [foo] => 1 [qux] => 4 ) ?您要查找的是数组\u intersect\u键函数() 运行: var_dump(array_intersect_key(arr

是否有用于以下各项的内置功能:

print_r(array_***([
    'foo' => 1,
    'bar' => 2,
    'baz' => 3,
    'qux' => 4,
], ['foo', 'qux']));
制作:

Array
(
    [foo] => 1
    [qux] => 4
)

您要查找的是数组\u intersect\u键函数()

运行:

var_dump(array_intersect_key(array('foo'=>1,'bar'=>2,'baz'=>3,'qux'=>4),array('foo'=>true,'qux'=>true)));
应该给你:

array(2) { ["foo"]=> int(1) ["qux"]=> int(4) }

@费利克斯克林,我试过这个答案中的函数。它们都返回空数组。您还需要
array\u flip
:更好的复制:。@FelixKling噢,很好)谢谢)