Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的脚本无法正常工作。它启动后不会停止_Php_Function - Fatal编程技术网

Php 我的脚本无法正常工作。它启动后不会停止

Php 我的脚本无法正常工作。它启动后不会停止,php,function,Php,Function,我正在处理一个函数,但当 我运行它,然后它持续运行 我没发现真正的问题在哪里 <?php function recursion($a) { if($a < 20) { echo "$a\n"; recursion($a); } } $a = 2; recursion($a); echo "</br>";

我正在处理一个函数,但当 我运行它,然后它持续运行

我没发现真正的问题在哪里

<?php  

    function recursion($a) {

        if($a < 20) {   
            echo "$a\n";    
            recursion($a);
        }

    }  

    $a = 2; 
    recursion($a);      
    echo "</br>";  

?>

您的递归函数将变为无穷大,因为您使用递归$a一次又一次地传递相同的值;因此,如果$aAs的长度为2<20,则打印2并再次调用该函数。问题1:它停止的条件是什么?A1:因为$a达到20。问题2:如何达到20?A2:。。。回答这个问题会解决你的问题:-虽然这是一个合法的答案,但你可能想给OP解释一下,他显然是个新手。更新答案@Andrew。我认为这足以让OP理解。
recursion(++$a);//increasing value with prefix operator ++
function recursion($a) {
    if($a < 20) {   
        echo "$a\n";    
        recursion(++$a);
    }
}  
$a = 2; 
recursion($a);      
echo "</br>";