Semasa proses pembangunan, kami mungkin menghadapi mesej ralat sedemikian: Amaran PHP: in_array() expects parameter. Mesej ralat ini akan muncul apabila menggunakan fungsi in_array() Ia mungkin disebabkan oleh hantaran parameter fungsi yang salah. Mari kita lihat penyelesaian kepada mesej ralat ini.
Pertama sekali, anda perlu menjelaskan peranan fungsi in_array(): semak sama ada nilai wujud dalam tatasusunan. Prototaip fungsi ini ialah: in_array($value, $array), dengan $value mewakili nilai yang perlu dicari dan $array mewakili array yang perlu dicari.
Penyelesaian 1: Semak sama ada jenis parameter adalah betul
Apabila parameter dihantar dalam fungsi in_array(), ia perlu menjadi pembolehubah atau tatasusunan. Jika apa yang diluluskan bukan pembolehubah atau tatasusunan, mesej ralat di atas akan muncul. Jadi, untuk mengelakkan ralat ini, kita perlu menyemak sama ada jenis parameter adalah betul.
Sebagai contoh, kod berikut akan menyebabkan mesej ralat:
in_array("abc", "aabbcc");
Kerana parameter kedua bukan tatasusunan, tetapi rentetan.
Penyelesaian 2: Semak sama ada parameter kosong
Apabila menggunakan fungsi in_array(), jika parameter kedua ialah tatasusunan kosong, mesej ralat di atas akan muncul.
Sebagai contoh, kod berikut akan menyebabkan mesej ralat:
$arr = []; in_array("abc", $arr);
Kerana parameter kedua ialah tatasusunan kosong.
Penyelesaian 3: Periksa sama ada parameter adalah nol
Salah satu sebab mengapa mesej ralat di atas akan muncul dalam fungsi in_array() ialah parameter pertama kosong (null).
Sebagai contoh, kod berikut akan menyebabkan mesej ralat:
$value = null; $arr = ["abc", "def"]; in_array($value, $arr);
Kerana parameter pertama $value kosong.
Penyelesaian 4: Semak sama ada jenis data parameter adalah konsisten
Apabila fungsi in_array() menyemak sama ada nilai wujud dalam tatasusunan, anda juga perlu memberi perhatian kepada sama ada jenis data adalah konsisten. Jika jenis data tidak konsisten, mesej ralat di atas akan muncul. Contohnya:
$arr = [0, 1, 2, 3]; in_array("0", $arr);
Walaupun nilai 0 dan "0" adalah sama, jenis data adalah berbeza, yang akan menyebabkan mesej ralat muncul.
Akhir sekali, perlu diingatkan bahawa untuk mengelakkan ralat tersebut, apabila menggunakan fungsi in_array(), anda harus terlebih dahulu menyemak sama ada jenis parameter yang diluluskan dan jenis data adalah betul, dan menukarnya jika perlu. Juga, elakkan menghantar tatasusunan kosong atau parameter kosong. Ini dapat memastikan ketepatan dan keteguhan program dengan lebih baik.
Atas ialah kandungan terperinci Amaran PHP: Penyelesaian kepada in_array() menjangkakan parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!