イテレータよりも配列大好きなPHPerは array_filter() を愛用していることと思いますが(?)、PHPには配列のキーでフィルタかける関数がないのが残念なところです。 何か代替案はないかと思って調べたところ、array_intersect_ukey() を使って実現できました。 参考記事 コールバック関数でキーをフィルタリングする - Sarabande.jp array_intersect_ukey() は、キーを基準にコールバック関数を用いて 他の全ての引数に存在する 第1引数(配列)の値を全て有する配列を返します。 第2引数までが必須で後は可変、最後の引数にキー比較用の callable を指定しますが、第1引数と第2引数に同じ配列を指定し、コールバック関数では2つのキーの比較ではなく単にキーを評価して有効としたい場合に0を返せば、キーでフィルタかけるのと同じ結果が得られ