ホームページ > バックエンド開発 > PHPチュートリアル > 多次元配列内の特定の値のキーを見つけるにはどうすればよいですか?

多次元配列内の特定の値のキーを見つけるにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-11 05:57:13
オリジナル
497 人が閲覧しました

How to Find the Key for a Specific Value in a Multidimensional Array?

特定の配列値のキーの識別

多次元配列を扱う場合、特定の値を検索して対応するキーを取得する必要があります。 。このシナリオでは、多次元配列内の指定された値のキーを見つけることを目的としています。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート