Jump to content

Php Recursion Question


ayaya

Recommended Posts

Each invocation of the function is a separate occurance and gets its own local variables. The recursive call is NOT modifying $a. For that matter, you are not modifying it locally. If you want the recursive call to affect the local variable, you would have to pass by reference or return it:

 

function f($a)
{
  if($a<2)
  {
        echo "before:".$a."</br>";
        $a = f($a+1);
        echo  "after:".$a."</br>";
       }
  return $a;
}
f(0);

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.