Đệ 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 | <?php function giaithua( $n ) { if ( $n == 1) return 1; else return ( $n * giaithua( $n - 1)); } // tính giai thừa của 5 echo "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 1 return 2*1 = 2 return 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