If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
C /C++ की तरह ही PHP भी हमें recursive functions define करना allow करती है। Function को उसी Function के अंदर एक specified condition तक call करने को ही recursive function कहते हैं , और इस process को recursion कहते हैं।
1. Recursive Functions का use tree structure (read या tree structure बनाने में ) में सबसे ज्यादा होता है , जहां पर हमें ये नहीं मालूम होता की Node का कोई children है या नहीं अगर है तो call the function.
2. दूसरा File Directories को readकरने के लिए , क्योंकि हमें नहीं मालूम होता है कि एक directory के अंदर सभी files होगीं या sub directory, और फिर उसके अंदर sub-directories और फिर उसके अंदर etc..
recursive function के through 1 to 100 तक Print करना।
File : rec_fun.php
<?php
function test_rec($number)
{
echo $number.' , ';
$number++;
if($number <= 100)
{
test_rec($number);
}
}
test_rec(1);
?>
ऊपर दिए गए example में 100 बार same function call हुआ है। example को आप ध्यान से देखेंगे तो पायंगे कि एक condition दी हुई है कि agar variable की value 100 से काम या बराबर है तभी function को call किया गया है।
❕ Note
देखा जाए तो Recursive Functions का work flow same as For Loop की तरह ही होता है , क्योंकि For Loop में भी execution एक specified condition तक repeat होता है। Condition false होने पर Loop end हो जाता था।
Recursive Functions को और अच्छे से समझने के लिए हम एक और common example देखते हैं - get factorial of any number .
File : rec_fun2.php
<?php
function find_fact($n)
{
if ($n == 0)
{
return 1;
}
echo $n.' * ';
/* Recursion */
$result = ( $n * find_fact( $n-1 ) );
return $result;
}
echo "The factorial of 5 is: " . find_fact( 5 ).'<br>';
echo "The factorial of 10 is: " . find_fact( 10 );
?>
पिछले example की तरह इसमें भी एक condition दी है कि variable की value 0 होने पर सिर्फ 1 ही return करता है , otherwise same function call होता रहेगा।
Recursive Function में Loop की तरह ही condition देना mandatory है , otherwise function infinite call करता रहेगा और page breach हो सकता है।
Recursive Functions , iterative program (like For Loop / While Loop ) के तुलना में काफी memory और time consume करते हैं। इसलिए ज्यादा जरूरी होने पर ही Recursive Functions का use करें।