Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何解决PHP Amaran: Hilang argumen X untuk function_name() dalam file.php pada baris Y dan ditakrifkan dalam file.php pada baris Z

如何解决PHP Amaran: Hilang argumen X untuk function_name() dalam file.php pada baris Y dan ditakrifkan dalam file.php pada baris Z

PHPz
PHPzasal
2023-08-19 13:49:061181semak imbas

如何解决PHP Warning: Missing argument X for function_name() in file.php on line Y and defined in file.php on line Z

Cara menyelesaikan PHP Amaran: Hilang jenis hujah mesej ralat. Salah satu ralat biasa ialah "Hilang argumen X untuk function_name()", yang bermaksud bahawa apabila kita memanggil fungsi, kita tidak melepasi parameter X yang diperlukan. Ralat ini akan dikenali oleh penterjemah PHP dan dipaparkan pada masa jalan.

Dalam artikel ini, kami akan membincangkan cara menyelesaikan masalah ini dan cara mengelakkannya dalam kod anda. Kami akan menggunakan contoh mudah untuk menjelaskan masalah ini.

Katakan kita mempunyai fungsi yang dipanggil calculate_sum() yang digunakan untuk mengira hasil tambah dua nombor. Kod kami kelihatan seperti ini:

function calculate_sum($num1, $num2) {
    return $num1 + $num2;
}

$result = calculate_sum(5);
echo $result;

Apabila kami menjalankan kod ini, kami mendapat mesej amaran: PHP Amaran: Hilang argumen 2 untuk calculate_sum() dalam file.php pada baris 3.

Mesej amaran ini memberitahu kami bahawa parameter kedua hilang apabila memanggil fungsi calculate_sum(). Dalam contoh ini, kami hanya lulus satu parameter, 5, tetapi fungsi memerlukan dua parameter. Oleh itu, kita perlu menyelesaikan masalah ini.

Menyelesaikan masalah ini adalah mudah, kita hanya perlu menyediakan parameter yang hilang semasa memanggil fungsi. Ubah suai kod seperti berikut:

$result = calculate_sum(5, 10);
echo $result;

Kini, mesej amaran telah hilang dan kami mendapat hasil keluaran yang betul iaitu 15.

Selain menyediakan parameter yang hilang, kami juga boleh menyelesaikan masalah ini melalui kaedah berikut:

Semak definisi fungsi: Alamat definisi fungsi yang dipaparkan dalam mesej amaran boleh membantu kami mencari masalah. Kita perlu membuka fail .php dan semak sama ada fungsi itu ditakrifkan dengan betul. Pastikan anda mempunyai semua parameter yang diperlukan dalam definisi fungsi.
  1. Semak jenis data parameter: Dalam definisi fungsi, kami boleh menentukan jenis data parameter. Jika kita mentakrifkan jenis data parameter, maka PHP akan menyemak sama ada parameter yang dihantar kepada fungsi sepadan dengan jenis yang ditentukan. Jika jenis tidak sepadan, PHP akan membuang ralat dan bukannya amaran. Oleh itu, jika kita menghadapi ralat tidak padan jenis parameter, kita harus menyemak sama ada jenis data parameter itu konsisten dengan definisi fungsi.
  2. function calculate_sum(int $num1, int $num2) {
        return $num1 + $num2;
    }
  3. Dalam contoh di atas, kami mentakrifkan jenis data parameter $num1 dan $num2 sebagai int (integer). Jika parameter yang kami lalui bukan integer, PHP akan membuang ralat.

Semak panggilan fungsi: Apabila kita memanggil fungsi, kita perlu memastikan bahawa bilangan dan susunan parameter yang diluluskan adalah konsisten dengan yang terdapat dalam definisi fungsi. Apabila memanggil fungsi, anda boleh memastikan anda lulus hujah yang betul dengan melihat definisi fungsi dan ulasan.
  1. Melalui kaedah di atas, kami boleh menyelesaikan masalah PHP Amaran: Hilang argumen X untuk function_name(). Tetapi yang lebih penting, kita harus menulis kod berkualiti tinggi dari awal untuk mengelakkan ralat seperti ini.

Apabila menulis kod, kita hendaklah:

Pastikan parameter dalam definisi fungsi adalah betul dan lengkap. Cuba gunakan nama parameter yang bermakna dan ulas setiap parameter.
  1. Apabila memanggil fungsi, pastikan anda menghantar nombor dan susunan hujah yang betul.
  2. Isytihar parameter fungsi menggunakan jenis data yang sesuai dan lakukan semakan jenis parameter.
  3. Gunakan alat penyahpepijatan (seperti Xdebug) untuk membantu kami mencari dan menyelesaikan masalah dalam kod.
  4. Ringkasnya, Amaran PHP: Hilang argumen X untuk function_name() ialah ralat biasa, biasanya disebabkan oleh kekurangan parameter yang diperlukan semasa memanggil fungsi. Kita boleh menyelesaikan masalah ini dengan menyemak definisi fungsi, jenis data parameter dan panggilan fungsi. Tetapi yang lebih penting, kita harus mengikuti amalan pengekodan yang baik semasa menulis kod untuk mengelakkan ralat tersebut.

Atas ialah kandungan terperinci 如何解决PHP Amaran: Hilang argumen X untuk function_name() dalam file.php pada baris Y dan ditakrifkan dalam file.php pada baris Z. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn