Dalam pengaturcaraan PHP, kami sering menggunakan fungsi in_array() untuk menentukan sama ada unsur wujud dalam tatasusunan. Tetapi apabila menggunakannya, kita mungkin menghadapi amaran sedemikian: "Amaran PHP: in_array() menjangkakan parameter 2 menjadi tatasusunan", yang sebenarnya bermakna parameter kedua yang diluluskan bukan daripada jenis tatasusunan. Dalam artikel berikut, kami akan membincangkan punca masalah ini dan cara menyelesaikannya.
Dalam fungsi in_array(), parameter pertama ialah elemen yang akan ditemui, dan parameter kedua ialah tatasusunan. Amaran ini akan muncul jika kita menghantar hujah kedua kepada fungsi yang bukan daripada jenis tatasusunan.
Sebabnya ialah bahasa PHP ialah bahasa yang ditaip secara dinamik dan tidak menguatkuasakan jenis pembolehubah Oleh itu, semasa menulis kod, kita perlu mengendalikan jenis pembolehubah dengan sangat berhati-hati, jika tidak, beberapa masalah yang berpotensi akan berlaku .
Sebagai contoh, katakan kami mempunyai pembolehubah $var, dan kami menetapkannya sebagai jenis rentetan.
$var = "Hello World!";
Kemudian kami cuba menggunakan fungsi in_array():
in_array("Hello", $var); >
Memandangkan $var bukan jenis tatasusunan, kita akan melihat amaran di atas. PenyelesaianUntuk menyelesaikan masalah ini, kita perlu mengesahkan sama ada parameter kedua ialah jenis tatasusunan. Kita boleh menggunakan fungsi is_array() untuk menyemak sama ada pembolehubah adalah daripada jenis tatasusunan. Berikut ialah kod sampel: $var = "Hello World!";if(is_array($var)){if(in_array("Hello", $var)){ echo "Hello is found in the array."; }else{ echo "Hello is not found in the array."; }
echo "The second parameter should be an array.";
Atas ialah kandungan terperinci Amaran PHP: in_array() menjangkakan parameter 2 sebagai penyelesaian tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!