コールバック関数はarray_filter()
配列のキーではなく値のみが渡されます。
以下のものがある場合:
$my_array = array("foo" => 1, "hello" => "world");
$allowed = array("foo", "bar");
$my_array
配列にないすべてのキーを削除する最適な方法は何ですか$allowed
?
望ましい出力:
$my_array = array("foo" => 1);
ベストアンサー1
とarray_intersect_key
そしてarray_flip
:
var_dump(array_intersect_key($my_array, array_flip($allowed)));
array(1) {
["foo"]=>
int(1)
}