ホームページ >バックエンド開発 >PHPチュートリアル >インデックス付き配列で見つかったキーに基づいて連想配列をフィルタリングする方法
連想配列のキーをインデックス付き配列の値と照合する
キーとインデックス付き配列の値を比較して連想配列をフィルタリングするのは困難な場合がありますarray_filter() のコールバック関数は値へのアクセスのみを提供するためです。ただし、array_intersect_key と array_flip の組み合わせを使用する解決策があります。
次のシナリオを考えてみましょう:
$my_array = ["foo" => 1, "hello" => "world"]; $allowed = ["foo", "bar"];
私たちの目標は、$allowed で見つからない $my_array 内のキーを除外することです。 、目的の出力が得られます:
$my_array = ["foo" => 1];
Solution array_intersect_key と array_flip を使用:
$filtered_array = array_intersect_key($my_array, array_flip($allowed));
出力:
var_dump($filtered_array); array(1) { ["foo"]=> int(1) }
以上がインデックス付き配列で見つかったキーに基づいて連想配列をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。