Recursion
recursion
ได้รับการสนับสนุนใน PHP ฟังก์ชันชนิดนี้เป็นการเรียกตัวเองและเป็นประโยชน์กับการบังคับโครงสร้างข้อมูลไดนามิคส์
เช่น รายการเชื่อมโยงและโครงสร้างต้นไม้ (tree)
โปรแกรมประยุกต์เว็บจำนวนไม่มากต้องการโครงสร้างข้อมูลซับซ้อนมากและจำกัดการใช้
เนื่องจาก recursion
ช้ากว่าและใช้หน่วยความจำมากกว่าการทำงานวนรอบ
ดังนั้นควรเลือกการทำงานแบบวนรอบปกติ ถ้าเป็นไปได้
ตัวอย่างการประยุกต์แบบย้อนกลับตัวอักษร
<?php
function
word_reverse_r($str)
{
{
if (strlen($str)>0)
word_reverse_r(substr($str, 1));
word_reverse_r(substr($str, 1));
echo substr($str, 0, 1);
return;
return;
}
function
word_reverse_i($str)
{
{
for ($i=1; $i<=strlen($str); $i++)
{
{
echo substr($str, -$i, 1);
}
return;
}
?>
?>
รายการคำสั่งของ 2 ฟังก์ชันนี้จะพิมพ์ข้อความย้อนกลับ ฟังก์ชัน word_reverse_r
เป็น recursion ฟังก์ชัน word_reverse_i
เป็นการวนรอบ
ฟังก์ชัน word_reverse_r ใช้ข้อความเป็นพารามิเตอร์
เมื่อมีการเรียกฟังก์ชันนี้ จะเกิดการเรียกตัวเองแต่ละครั้งส่งผ่านตัวอักษรที่ 2 ไปถึงตัวอักษรสุดท้าย
การเรียกฟังก์ชันแต่ละครั้งจะทำสำเนาใหม่ของคำสั่งในหน่วยความจำของแม่ข่าย
แต่ด้วยพารามิเตอร์ต่างกัน ดังนั้นจึงเหมือนกับการเรียกคนละฟังก์ชัน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น