通过其键获取数组的某些元素

Xav*_*ver 5 php arrays

我确信这有一个功能:

是)我有的:

$myArray = array( 'foo' => 123, 'bar' => 456, 'lou' => 789, 'wuh' => 'xyz' );
$iNeed = array( 'foo', 'lou' );
Run Code Online (Sandbox Code Playgroud)

如何获得以下键值对$iNeed:

$output = super_magic_function( $iNeed, $myArray );
// output should be array( 'foo' => 123, 'lou' => 789 );
Run Code Online (Sandbox Code Playgroud)

如何super_magic_function调用(如果可能的话,本机php)

Ama*_*ali 6

$output = array_intersect_key($myArray, array_flip($iNeed));
Run Code Online (Sandbox Code Playgroud)

如果你需要它作为一个功能:

function super_magic_function($array, $required) {
    return array_intersect_key($array, array_flip($required));
}
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [foo] => 123
    [lou] => 789
)
Run Code Online (Sandbox Code Playgroud)

文档:array_intersect_key(),array_flip()

演示.