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!