การทำงานกับรีเคอร์ชันใน PHP

ในการเขียนโปรแกรมมีแนวคิดที่เรียกว่า รีเคอร์ชัน - นี่คือเมื่อฟังก์ชันเรียก ตัวเอง มาดูตัวอย่างกัน แสดงตัวเลขตั้งแต่ 1 ถึง 10 โดยใช้รีเคอร์ชัน:

php<?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 ได้ - หากทำเช่นนั้น จะทำให้เกิดการเรียกฟังก์ชันอย่างไม่สิ้นสุด