My recursive function is
function recursion($vals,$i) //
{
$htm=implode('',file($vals));
echo $i;
if($htm)
{
return $htm;
}
else
{
echo "\n.................link broken...................\n";
sleep(10);
echo "\n.................retrying......................\n";
**// return recursion($vals,$i+1); //case 1
// return recursion($vals,$i++); //case 2**
}
}
using case 1 is incrementing value of $i+1 while using $i++ not increamenting $i value why ?
Because post-increment (
$a++) operator meansCheck out official document.
Addition:
And (as @Matt states) pre-increment operator (
++$a) means increment and then return.So in your case, you used
Which results in
$ireturning its current value into function call’s parameter, and then increment itself by one, sorecursion()will always get the same$ibecause it is incremented after it is used as a parameter.Change to
Would help.