Dengan perkembangan pesat teknologi Internet dan Web, bahasa PHP telah menjadi salah satu kemahiran yang sangat diperlukan untuk ramai jurutera pembangunan Web. Dalam bahasa PHP, tatasusunan adalah jenis data yang sangat penting dan biasa digunakan, dan tatasusunan dua dimensi adalah yang paling kerap digunakan. Jadi, bagaimana untuk menentukan sama ada elemen berada dalam tatasusunan dua dimensi dalam PHP? Artikel ini akan memperkenalkan pelaksanaan khusus dari aspek seperti prinsip dan kaedah pelaksanaan.
1. Apakah tatasusunan dua dimensi dalam PHP?
Dalam PHP, tatasusunan boleh mengandungi tatasusunan lain Jenis tatasusunan ini dipanggil tatasusunan dua dimensi. Dalam istilah orang awam, tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada tatasusunan satu dimensi berbilang, dan setiap tatasusunan satu dimensi mengandungi beberapa elemen. Bentuk tatasusunan dua dimensi adalah seperti berikut:
$array = array( array('name'=>'小明', 'age'=>18), array('name'=>'小红', 'age'=>19), array('name'=>'小兰', 'age'=>20) );
Kod di atas ialah tatasusunan dua dimensi, yang mengandungi tiga tatasusunan satu dimensi, setiap tatasusunan satu dimensi terdiri daripada dua elemen.
2. Bagaimana untuk menentukan sama ada elemen dalam PHP berada dalam tatasusunan dua dimensi?
Dalam PHP, agak mudah untuk menentukan sama ada unsur wujud dalam tatasusunan satu dimensi Anda boleh terus menggunakan fungsi in_array() untuk mencapai ini. Walau bagaimanapun, menentukan sama ada unsur wujud dalam tatasusunan dua dimensi adalah sedikit lebih menyusahkan.
Elemen tatasusunan dua dimensi terdiri daripada berbilang pasangan nilai kunci dan mana-mana pasangan nilai kunci boleh digunakan sebagai asas untuk pertimbangan. Oleh itu, anda boleh menggunakan gelung untuk merentasi tatasusunan dua dimensi, keluarkan setiap tatasusunan satu dimensi satu demi satu, dan kemudian tentukan sama ada unsur sasaran wujud dalam tatasusunan satu dimensi. Jika ia wujud, ia kembali benar Jika ia tidak wujud, ia terus melintasi tatasusunan satu dimensi yang lain sehingga semua traversal selesai. Berikut ialah contoh fungsi:
function check_in_array($needle, $haystack) { if (!is_array($needle) || !is_array($haystack)) { return false; } foreach ($haystack as $value) { if (in_array($needle, $value)) { return true; } } return false; }
Dalam kod di atas, $needle ialah elemen sasaran dan $haystack ialah tatasusunan dua dimensi untuk dinilai. Mula-mula tentukan sama ada parameter masuk adalah betul Jika ia bukan jenis tatasusunan, kembali palsu secara langsung. Kemudian gunakan gelung foreach untuk merentasi keseluruhan tatasusunan dua dimensi, keluarkan setiap tatasusunan satu dimensi satu demi satu dan gunakan fungsi in_array() untuk menentukan sama ada elemen sasaran berada dalam tatasusunan satu dimensi semasa. Jika ia wujud, kembalikan benar, menunjukkan bahawa elemen sasaran berada dalam tatasusunan dua dimensi jika elemen sasaran tidak ditemui selepas merentasi semua tatasusunan satu dimensi, kembalikan palsu, menunjukkan bahawa elemen sasaran tiada dalam dua-; tatasusunan dimensi.
3. Penggunaan fungsi tatasusunan array_column()
Walaupun kaedah di atas boleh menentukan sama ada sesuatu elemen wujud dalam tatasusunan dua dimensi, ia memerlukan menulis fungsi itu sendiri, dan kod itu secara relatifnya panjang lebar. PHP menyediakan kaedah yang lebih mudah dan cekap, iaitu menggunakan fungsi tatasusunan array_column(). Fungsi fungsi ini adalah untuk mengambil nilai lajur tertentu daripada tatasusunan berbilang dimensi dan mengembalikan tatasusunan ini ialah tatasusunan satu dimensi yang mengandungi elemen sasaran. Berikut ialah kod yang menggunakan array_column() untuk menentukan sama ada unsur wujud dalam tatasusunan dua dimensi:
function check_in_array($needle, $haystack) { if (!is_array($needle) || !is_array($haystack)) { return false; } $arr = array_column($haystack, 'id'); if (in_array($needle, $arr)) { return true; } return false; }
Dalam kod di atas, makna $needle dan $haystack adalah sama seperti di atas , fungsi array_column() digunakan untuk mengeluarkannya daripada $haystack Nilai semua lajur id membentuk tatasusunan satu dimensi $arr, dan kemudian gunakan fungsi in_array() untuk menentukan sama ada elemen sasaran wujud dalam $arr. . Jika ia wujud, kembalikan benar, menunjukkan bahawa elemen sasaran berada dalam tatasusunan dua dimensi, sebaliknya, kembalikan palsu, menunjukkan bahawa elemen sasaran tidak berada dalam tatasusunan dua dimensi.
4. Ringkasan
Artikel ini memperkenalkan kaedah untuk menentukan sama ada unsur wujud dalam tatasusunan dua dimensi dalam PHP, termasuk prinsip, kaedah pelaksanaan dan langkah berjaga-jaga untuk menggunakan fungsi tatasusunan array_column() . Perlu diingat bahawa apabila menggunakan fungsi array_column(), pastikan anda ambil perhatian bahawa nilai lajur yang dikeluarkan mestilah unik, jika tidak, keputusan yang tidak dijangka akan berlaku. Di samping itu, bergantung pada senario aplikasi sebenar, anda mungkin perlu menulis sendiri fungsi yang sepadan untuk menyedari keperluan untuk menentukan sama ada unsur wujud dalam tatasusunan dua dimensi.
Atas ialah kandungan terperinci Adakah php dalam tatasusunan dua dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!