Menyoal Tatasusunan Berbilang Dimensi dengan in_array()
In_array() dengan mudah mengenal pasti kehadiran unsur dalam tatasusunan satu dimensi. Walau bagaimanapun, aplikasinya kepada tatasusunan berbilang dimensi memberikan cabaran, menyebabkan utilitinya dipersoalkan. Untuk menangani isu ini, fungsi rekursif boleh digunakan untuk melintasi tatasusunan berbilang dimensi secara rekursif dan memastikan kehadiran elemen yang diingini.
Fungsi, dinamakan dengan tepat in_array_r(), mengambil tiga parameter: elemen sasaran ($ jarum), tatasusunan yang akan dicari ($timbunan jerami), dan parameter pilihan ($ketat) yang menentukan sama ada kesamaan ketat (===) atau kesamaan santai (==) hendaklah digunakan dalam perbandingan.
Proses lelaran fungsi melibatkan pemeriksaan setiap elemen ($item) dalam timbunan jerami. Jika item itu sepadan dengan elemen sasaran berkenaan dengan kaedah perbandingan yang ditentukan, fungsi itu kembali benar. Jika elemen itu sendiri ialah tatasusunan, fungsi itu secara rekursif memanggil dirinya sendiri dengan tatasusunan itu sebagai timbunan jerami baharu, dengan berkesan meneroka tahap lanjut struktur berbilang dimensi.
Rekursi berterusan sehingga semua elemen telah diperiksa atau sehingga elemen sasaran ditemui. Sekiranya elemen kekal sukar difahami, fungsi itu akan mengembalikan palsu.
Untuk menunjukkan kefungsiannya, pertimbangkan penggunaan berikut:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
Dalam contoh ini, fungsi mencari kehadiran "Irix" dalam tatasusunan berbilang dimensi $b. Jika dijumpai, ia mengeluarkan "ditemui"; jika tidak, ia mengeluarkan "tidak dijumpai."
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan `in_array()` dengan Berkesan untuk Mencari Tatasusunan Berbilang Dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!