Mencari Tatasusunan Berbilang Dimensi dengan in_array()
Manakala fungsi in_array() ialah alat mudah untuk menyemak kewujudan nilai dalam tatasusunan, ia gagal apabila berurusan dengan tatasusunan yang mempunyai struktur multidimensi. Untuk mengatasi had ini, pertimbangkan perkara berikut:
Fungsi Rekursif Tersuai
Daripada bergantung pada in_array(), anda boleh menggunakan fungsi rekursif seperti in_array_r:
function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) { return true; } } return false; }
Penggunaan:
Untuk menggunakan fungsi in_array_r, sediakan ia dengan jarum (nilai yang anda cari), timbunan jerami (susunan berbilang dimensi), dan parameter ketat pilihan (mengawal perbandingan kesaksamaan yang ketat). Contohnya:
$b = array(array("Mac", "NT"), array("Irix", "Linux")); echo in_array_r("Irix", $b) ? 'found' : 'not found';
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Tatasusunan Berbilang Dimensi dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!