Untuk mengelakkan ralat fungsi PHP biasa, ikuti langkah berikut: Pastikan jenis parameter yang diluluskan sepadan dengan jenis yang dijangkakan oleh fungsi tersebut. Sediakan nilai untuk semua parameter yang diperlukan dan pertimbangkan untuk menggunakan nilai lalai. Pastikan fungsi mengembalikan nilai yang sepadan dengan jenis yang dijangkakan. Laksanakan syarat penamatan yang jelas untuk mengelakkan pengulangan yang tidak terhingga. Mulakan pembolehubah sebelum menggunakannya, atau gunakan operator penggabungan nol untuk mengendalikan pembolehubah yang tidak dimulakan.
Contoh 1: Elakkan menghantar jenis parameter yang salah
function addNumbers(int $num1, int $num2): int { return $num1 + $num2; } echo addNumbers(1, "2"); // Error: Type mismatch on argument 2 (expected int, got string)
Penyelesaian: Semak sama ada fungsi yang diluluskan oleh jenis parameter sepadan dengan jenis yang dijangkakan Pertimbangkan untuk menggunakan petunjuk jenis.
Contoh 2: Elakkan hujah yang hilang
function greet(string $name) { echo "Hello, $name!"; } greet(); // Error: Missing argument 1 for greet()
Penyelesaian: Pastikan anda menyediakan nilai untuk semua parameter yang diperlukan dan pertimbangkan untuk menggunakan nilai lalai.
Contoh 3: Elakkan pulangan yang tidak dijangka
function calculateAge() { if ($age > 18) { return true; } } $age = 20; if (calculateAge()) { // Error: Unexpected return value, expected void echo "Old enough"; }
Penyelesaian: Pastikan fungsi mengembalikan nilai yang sepadan dengan jenis yang dijangkakan dan gunakan pembayang jenis atau dokumen jenis pemulangan.
Contoh 4: Elakkan rekursi tak terhingga
function countDown(int $n) { if ($n <= 0) { return; } countDown($n - 1); } countDown(10); // Error: Maximum function call depth reached
Penyelesaian: Laksanakan syarat penamatan yang jelas untuk mengelakkan pengulangan tak terhingga.
Contoh 5: Elakkan daripada menggunakan pembolehubah tidak ditentukan
function printName() { echo $name; // Error: Undefined variable: name } printName();
Penyelesaian: Pastikan anda memulakan pembolehubah sebelum menggunakannya. Pertimbangkan untuk menggunakan operator penggabungan nol (??) untuk mengendalikan pembolehubah tidak dimulakan.
Atas ialah kandungan terperinci Panduan untuk mengelakkan kesilapan biasa dengan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!