Dalam pembangunan PHP, kami sering menggunakan tatasusunan untuk menyimpan dan memproses data. Kadangkala, kita perlu menggunakan tatasusunan kosong supaya elemen boleh ditambah semasa pelaksanaan program. Tetapi dalam beberapa kes, tatasusunan kosong boleh menyebabkan masalah yang tidak perlu Contohnya, tatasusunan kosong yang digunakan sebagai parameter fungsi boleh menyebabkan program ranap. Oleh itu, artikel ini terutamanya akan memperkenalkan cara menghapuskan tatasusunan kosong untuk mengelakkan masalah sedemikian.
Apakah tatasusunan kosong?
Dalam PHP, tatasusunan kosong merujuk kepada tatasusunan tanpa sebarang elemen Apabila mentakrifkan pembolehubah tatasusunan, jika tiada nilai awal diberikan kepada pembolehubah, maka ia adalah tatasusunan kosong. Kita boleh mencipta tatasusunan kosong dengan cara berikut:
$my_array = array();
atau gunakan cara yang lebih mudah:
$my_array = [];
Dalam sesetengah kes, kita perlu menggunakan pembolehubah tatasusunan kosong, seperti Apabila mentakrifkan fungsi, kami mahu fungsi menerima parameter tatasusunan, tetapi jika sebenarnya tiada unsur, kami perlu menggunakan tatasusunan kosong. Contohnya:
function my_function($my_array = []) { //do something }
Dalam kod di atas, parameter fungsi $my_array menjadi lalai kepada tatasusunan kosong Jika tiada parameter dihantar apabila fungsi dipanggil, $my_array ialah tatasusunan kosong.
Mengapa kita perlu menghapuskan fungsi tatasusunan kosong?
Menggunakan tatasusunan kosong boleh menyebabkan program ranap atau menyebabkan masalah yang tidak perlu. Sebagai contoh, beberapa fungsi terbina dalam PHP, seperti array_push dan array_merge, memerlukan kewujudan tatasusunan apabila menambah elemen pada tatasusunan. Jika hujah yang diluluskan adalah tatasusunan kosong, fungsi ini akan memberikan ralat amaran atau maut.
Contohnya, apabila menggunakan fungsi array_push, jika parameter masuk ialah tatasusunan kosong, mesej amaran akan dihasilkan: "Amaran: array_push() menjangkakan parameter 1 ialah tatasusunan, null diberikan dalam... ". Begitu juga, apabila menggunakan fungsi array_merge, jika parameter yang diluluskan adalah tatasusunan kosong, ralat maut akan dilemparkan.
Bagaimana untuk menghapuskan fungsi tatasusunan kosong?
Terdapat banyak cara untuk menghapuskan fungsi tatasusunan kosong. Berikut adalah beberapa penyelesaian.
Kaedah 1: Semak sama ada tatasusunan kosong
Sebelum memanggil fungsi, kita boleh menyemak dahulu sama ada tatasusunan itu kosong. Jika ia adalah tatasusunan kosong, terdapat cara untuk mengendalikannya, seperti melangkau panggilan fungsi atau menggunakan nilai lalai. Berikut ialah contoh:
function my_function($my_array = []) { if(empty($my_array)) { // 如果$my_array为空数组,这里可以跳过函数调用,直接返回 return; } //do something }
Dalam kod di atas, kami telah menggunakan fungsi kosong untuk menyemak sama ada tatasusunan kosong. Jika $my_array ialah tatasusunan kosong, panggilan fungsi boleh dilangkau.
Kaedah 2: Gunakan null dan bukannya tatasusunan kosong
Kita boleh menggunakan null dan bukannya tatasusunan kosong untuk mengelakkan ralat apabila tatasusunan kosong digunakan sebagai parameter fungsi. Berikut ialah contoh:
function my_function($my_array = null) { if(is_null($my_array)) { // 如果$my_array为null,可以使用默认值或其他适当的值 $my_array = [1,2,3]; } //do something }
Dalam kod di atas, kami menggunakan fungsi is_null untuk menyemak sama ada $my_array kosong. Jika ia adalah batal, kita boleh menggunakan nilai lalai atau nilai lain yang sesuai.
Kaedah 3: Gunakan pengisytiharan jenis tatasusunan
Dalam PHP 7, kita boleh menggunakan pengisytiharan jenis tatasusunan untuk memastikan bahawa parameter fungsi mestilah jenis tatasusunan. Jika nilai yang dihantar bukan jenis tatasusunan, PHP akan membuang pengecualian TypeError semasa runtime. Contohnya:
function my_function(array $my_array) { //do something }
Dalam kod di atas, kami menggunakan pengisytiharan jenis untuk memastikan bahawa $my_array mestilah jenis tatasusunan.
Kesimpulan
Dalam pembangunan PHP, adalah perkara biasa untuk menggunakan tatasusunan kosong. Walau bagaimanapun, tatasusunan kosong mungkin ranap program atau menyebabkan masalah yang tidak perlu dalam beberapa kes. Oleh itu, kita perlu menghapuskan fungsi tatasusunan kosong untuk mengelakkan situasi ini. Artikel ini memperkenalkan tiga penyelesaian untuk menghapuskan fungsi tatasusunan kosong: menyemak sama ada tatasusunan kosong, menggunakan null dan bukannya tatasusunan kosong dan menggunakan pengisytiharan jenis tatasusunan. Kita boleh memilih kaedah yang sesuai dengan kita mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menghapuskan array kosong dalam php? Pengenalan kepada fungsi terbina dalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!