Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencari Kunci untuk Nilai Tertentu dalam Tatasusunan Berbilang Dimensi?
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!