Đệ quy trong PHP là quá trình trong đó một phương thức gọi lại chính nó một cách liên tiếp. Một phương thức trong php gọi lại chính nó được gọi là phương thức đệ quy.
Sử dụng đệ quy giúp code chặt chẽ hơn nhưng sẽ khó để hiểu hơn.
Cú pháp:
return_type function_name() { // codefunction_name();} |
Nội dung chính
- Ví dụ về đệ quy trong php
Ví dụ về đệ quy trong php
Dưới đây là các ví dụ về cách sử dụng đệ quy trong php.
<?phpfunction p() {echo "hello <br>";p();}p();?> |
Kết quả:
hello hello ...
Ví dụ 2: vòng lặp có hạn
| 12345678910 | <?phpfunction p($count) {if ($count <= 5) {echo("hello $count <br>");p($count + 1);}}// gọi hàm p()p(1);?> |
Kết quả:
hello 1 hello 2 hello 3 hello 4 hello 5
Ví dụ 3: tính giai thừa
| 12345678910 | <?phpfunction giaithua($n) {if ($n == 1)return 1;elsereturn ($n * giaithua($n - 1));}// tính giai thừa của 5echo "Giai thừa của 5 là:" . giaithua(5);?> |
Kết quả:
Giai thừa của 5 là: 120
Chương trình trên hoạt động như sau:
| 12345678910 | giaithua(5) giaithua(4) giaithua(3) g iaithua(2) giaithua(1) return 1return 2*1 = 2return 3*2 = 6 return 4*6 = 24 return 5*24 = 120 |
Ví dụ 4: dẫy số Fibonacci
| 1234567891011121314151617 | <?phpfunction printFibonacci($count) {static $n1 = 0;static $n2 = 1;static $n3 = 0; if ($count > 0) {$n3 = $n1 + $n2;$n1 = $n2;$n2 = $n3;echo (" " . $n3);printFibonacci($count - 1);}} printFibonacci(15);?> |
Kết quả:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377


