特定の配列値のキーの識別
多次元配列を扱う場合、特定の値を検索して対応するキーを取得する必要があります。 。このシナリオでは、多次元配列内の指定された値のキーを見つけることを目的としています。
array_search() を使用した配列検索
配列を検索する 1 つのアプローチは、次のとおりです。 PHP バージョン 5.5.0 以降で利用可能な array_search() 関数を利用します。この関数には、ターゲット値と検索対象の配列という 2 つの引数が必要です。ターゲット値が見つかった場合はその値に関連付けられたキーを返し、それ以外の場合は FALSE を返します。
例
次の多次元配列について考えてみましょう:
$products = [ 1 => [ 'slug' => 'breville-one-touch-tea-maker-BTM800XL', 'name' => 'The Breville One-Touch Tea Maker', ], 2 => [ 'slug' => 'breville-variable-temperature-kettle-BKE820XL', 'name' => 'Breville Variable-Temperature Kettle BKE820XL', ], ];
スラグに関連付けられたキーを検索するにはbreville-one-touch-tea-maker-BTM800XL:
$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
array_column() 関数を使用して、各サブ配列から 'slug' 値を 1 次元配列に抽出し、array_search() を有効にします。
を使用した代替ソリューションarray_search_multidim()
自己完結型ソリューションの場合、次のようなカスタム関数を定義できます。
function array_search_multidim($array, $column, $key) { return (array_search($key, array_column($array, $column))); }
この関数を使用すると、多次元配列、列名を渡すことができます。内を検索 (例: 'slug')、ターゲットvalue.
例
$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
以上が多次元配列内の特定の値のキーを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。