การทำงานกับรีเคอร์ชันใน PHP
ในการเขียนโปรแกรมมีแนวคิดที่เรียกว่า
รีเคอร์ชัน - นี่คือเมื่อฟังก์ชันเรียก
ตัวเอง มาดูตัวอย่างกัน
แสดงตัวเลขตั้งแต่ 1
ถึง 10 โดยใช้รีเคอร์ชัน:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // ในที่นี้ฟังก์ชันเรียกตัวเอง
}
}
func();
?>
มาพูดคุยกันว่ารหัสนี้ทำงานอย่างไร
เรามีตัวแปรโกลบอล $i
และฟังก์ชัน func ภายในซึ่งในคอนโซล
แสดงเนื้อหาของตัวแปร $i
จากนั้นทำ ++
หากตัวแปร $i ของเราน้อยกว่า
หรือเท่ากับ 10 ฟังก์ชันจะถูกเรียกซ้ำ
เนื่องจากตัวแปร $i เป็นโกลบอล
ดังนั้นในแต่ละครั้งที่เรียกฟังก์ชันใหม่ในนั้น
จะมีค่าของตัวแปร $i ที่ตั้งไว้ในการเรียกก่อนหน้า
ผลที่ได้คือฟังก์ชันจะเรียกตัวเอง
จนกว่า $i จะมากกว่า
10
โปรดทราบว่าในกรณีของเราไม่สามารถเรียกใช้ฟังก์ชัน
โดยไม่มี if ได้ - หากทำเช่นนั้น
จะทำให้เกิดการเรียกฟังก์ชันอย่างไม่สิ้นสุด