Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencari Kunci untuk Nilai Tertentu dalam Tatasusunan Berbilang Dimensi?

Bagaimana untuk Mencari Kunci untuk Nilai Tertentu dalam Tatasusunan Berbilang Dimensi?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-11 05:57:13476semak imbas

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

Mengenal pasti Kunci untuk Nilai Tatasusunan Tertentu

Apabila berurusan dengan tatasusunan berbilang dimensi, adalah perlu untuk mencari nilai tertentu dan mendapatkan kunci yang sepadan . Dalam senario ini, kami menyasarkan untuk mencari kunci untuk nilai tertentu dalam tatasusunan berbilang dimensi.

Cari Tatasusunan Menggunakan array_search()

Satu pendekatan untuk mencari tatasusunan ialah dengan gunakan fungsi array_search(), tersedia dalam PHP versi 5.5.0 dan ke atas. Fungsi ini memerlukan dua argumen: nilai sasaran dan tatasusunan untuk mencari dalam. Ia mengembalikan kunci yang dikaitkan dengan nilai sasaran jika ditemui, atau FALSE sebaliknya.

Contoh

Pertimbangkan tatasusunan berbilang dimensi berikut:

$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',
    ],
];

Untuk mencari kunci yang dikaitkan dengan slug breville-one-touch-tea-maker-BTM800XL:

$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));

Fungsi array_column() digunakan untuk mengekstrak nilai 'slug' daripada setiap subarray ke dalam tatasusunan satu dimensi, membolehkan array_search() berfungsi untuk melaksanakan carian dengan cekap.

Penyelesaian Alternatif Menggunakan array_search_multidim()

Untuk penyelesaian serba lengkap, anda boleh mentakrifkan fungsi tersuai seperti:

function array_search_multidim($array, $column, $key) {
    return (array_search($key, array_column($array, $column)));
}

Fungsi ini membolehkan anda menghantar tatasusunan berbilang dimensi, nama lajur kepada cari dalam (cth., 'slug'), dan sasaran nilai.

Contoh

$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');

Atas ialah kandungan terperinci Bagaimana untuk Mencari Kunci untuk Nilai Tertentu dalam Tatasusunan Berbilang Dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn