Rumah > Artikel > pembangunan bahagian belakang > PHP menentukan sama ada untuk menentukan tatasusunan
Apabila kita menulis kod PHP, kita selalunya perlu menentukan sama ada tatasusunan ditakrifkan. Dalam PHP, menentukan sama ada tatasusunan ditakrifkan terutamanya dilaksanakan melalui fungsi isset() dan fungsi array_key_exists(). Berikut akan memperkenalkan penggunaan kedua-dua fungsi ini dan perbezaannya.
1. fungsi isset()
fungsi isset() ialah fungsi terbina dalam PHP, digunakan untuk menentukan sama ada pembolehubah ditetapkan dan sama ada ia adalah nol. Apabila menggunakan fungsi isset() untuk menilai tatasusunan, selagi terdapat sebarang elemen dalam tatasusunan, tatasusunan dianggap sebagai ditakrifkan.
Kod sampel adalah seperti berikut:
$myArray = array('apple', 'banana', 'orange'); if(isset($myArray)) { echo "数组已被定义"; } else { echo "数组未被定义"; }
Apabila kod di atas dijalankan, hasil output ialah "Array telah ditentukan".
Perlu diambil perhatian bahawa walaupun semua elemen tatasusunan dipadamkan, fungsi isset() masih akan mempertimbangkan tatasusunan untuk ditakrifkan.
Kod sampel adalah seperti berikut:
$myArray = array('apple', 'banana', 'orange'); unset($myArray[0]); unset($myArray[1]); unset($myArray[2]); if(isset($myArray)) { echo "数组已被定义"; } else { echo "数组未被定义"; }
Apabila kod di atas dijalankan, hasil output ialah "Array telah ditentukan".
Jadi, menggunakan fungsi isset() untuk menentukan sama ada tatasusunan ditakrifkan sebenarnya tidak begitu berkesan, kerana ia hanya menyemak sama ada tatasusunan ditetapkan, bukan sama ada tatasusunan itu kosong.
2. Fungsi array_key_exists()
Fungsi array_key_exists() juga merupakan fungsi terbina dalam PHP, digunakan untuk menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunan. Apabila menggunakan fungsi array_key_exists() untuk menentukan tatasusunan, nama kunci mesti ditentukan Hanya apabila nama kunci yang ditentukan wujud dalam tatasusunan, tatasusunan dianggap sebagai ditakrifkan.
Kod sampel adalah seperti berikut:
$myArray = array('apple', 'banana', 'orange'); if(array_key_exists(0, $myArray)) { echo "数组已被定义"; } else { echo "数组未被定义"; }
Apabila kod di atas dijalankan, hasil output ialah "Array telah ditentukan".
Perlu diambil perhatian bahawa jika nama kunci yang ditentukan tidak wujud dalam tatasusunan, fungsi array_key_exists() akan mengembalikan palsu, yang bermaksud bahawa tatasusunan tidak ditakrifkan.
Kod sampel adalah seperti berikut:
$myArray = array('apple', 'banana', 'orange'); if(array_key_exists(3, $myArray)) { echo "数组已被定义"; } else { echo "数组未被定义"; }
Apabila kod di atas dijalankan, hasil output ialah "Array tidak ditakrifkan".
3. Perbezaan antara fungsi isset() dan fungsi array_key_exists()
Dalam pengenalan di atas, kita telah pun memahami penggunaan fungsi isset() dan fungsi array_key_exists(), mereka boleh kedua-duanya Digunakan untuk menentukan sama ada tatasusunan ditakrifkan. Walau bagaimanapun, dalam aplikasi praktikal, kita harus memilih fungsi yang hendak digunakan berdasarkan situasi tertentu.
Perbezaan antara fungsi isset() dan fungsi array_key_exists() ditunjukkan terutamanya dalam dua aspek berikut:
Gunakan Apabila fungsi isset() menilai tatasusunan, selagi terdapat sebarang elemen dalam tatasusunan, ia akan dianggap sebagai ditetapkan. Ini bermakna walaupun semua elemen dalam tatasusunan dipadamkan, fungsi isset() masih akan mempertimbangkan tatasusunan untuk ditakrifkan.
Walau bagaimanapun, fungsi array_key_exists() hanya menentukan sama ada kunci yang ditentukan wujud dalam tatasusunan. Jika semua elemen dalam tatasusunan dipadamkan tetapi kunci yang ditentukan masih wujud, fungsi array_key_exists() masih akan mempertimbangkan tatasusunan untuk ditakrifkan.
Apabila menggunakan fungsi isset() untuk menentukan pembolehubah tidak ditentukan, isset() akan mengembalikan false, iaitu pembolehubah dianggap tidak ditakrifkan.
Apabila menggunakan fungsi array_key_exists() untuk menentukan pembolehubah yang tidak ditentukan, array_key_exists() akan terus membuang mesej amaran Jika digunakan dalam fungsi, ia boleh menyebabkan fungsi itu gagal.
Oleh itu, pilihan fungsi mana yang hendak digunakan perlu berdasarkan situasi tertentu.
4. Ringkasan
Dalam PHP, anda boleh menggunakan fungsi isset() dan fungsi array_key_exists() untuk menentukan sama ada tatasusunan ditakrifkan. Walau bagaimanapun, perlu diingatkan bahawa penggunaan kedua-dua fungsi ini tidak sama, dan pilihan perlu berdasarkan situasi tertentu.
Apabila kita ingin menentukan sama ada pembolehubah ditakrifkan, kita harus menggunakan fungsi isset().
Apabila kita ingin menentukan sama ada tatasusunan ditakrifkan, jika kita perlu menyemak sama ada tatasusunan itu kosong (iaitu, sama ada bilangan elemen ialah 0), kita harus menggunakan fungsi isset() jika kita perlu menyemak sama ada tatasusunan kosong Jika kunci yang ditentukan wujud, fungsi array_key_exists() harus digunakan.
Dalam aplikasi sebenar, kita harus memilih untuk menggunakan fungsi isset() atau fungsi array_key_exists() mengikut situasi khusus untuk memastikan program kita berjalan dengan betul.
Atas ialah kandungan terperinci PHP menentukan sama ada untuk menentukan tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!