按键数组过滤数组

Yar*_*min -3 php arrays filtering

可能的重复:
PHP 内置方法获取给定键列表的数组值

PHP 有用于此目的的内置函数吗?

我有两个数组,第一个与一些数据关联。例如:

$data = array(
    'name'      => 'John',
    'last_name' => 'Smith',
    'address'   => 'NY, ...',
    'phone'     => '1234567'
);
Run Code Online (Sandbox Code Playgroud)

另一个带有键的数组:

$keys = array(
    'name', 
    'last_name'
);
Run Code Online (Sandbox Code Playgroud)

应用此函数后,我仅从第一个数组中获取值,其中包含第二个数组中的键。

$result = function($data, $keys);
print_r($result);

// array(
//    'name'      => 'Jonh',
//    'last_name' => 'Smith'
// )
Run Code Online (Sandbox Code Playgroud)

xda*_*azz 6

尝试以下方法:

$result = array_intersect_key($data, array_fill_keys($keys, null));
Run Code Online (Sandbox Code Playgroud)