为什么$ k每次通过循环都会重置为零?

时间:2014-09-25 04:25:18

标签: php increment

为什么$ k每次循环都会将自身重置为零?

$fruit = array ( “orange”, “apple”, “grape” ); 
$testvar = “no”; 

while ( $testvar != “yes” ) {  
    $k = 0; 
    if ($fruit[$k] == “apple” ) {    
        $testvar = “yes”; 
        echo “apple\n”; 

    } else { 
        echo “$fruit[$k] is not an apple\n”; 
    } 
    $k++; 
}

2 个答案:

答案 0 :(得分:2)

您正在$k循环中初始化变量while

while ( $testvar != “yes” ) {  
  $k = 0; 

每次都会重置其值,直到while条件失败。在$k循环之前初始化while,以便它的值只初始化一次,如

$k = 0; 
while ( $testvar != “yes” ) {  

答案 1 :(得分:2)

问题是每次while循环运行时都要创建一个新变量。如果你在while循环之前放置$k,那么你将能够增加它并获得while循环执行次数的准确视图。

注意PHP只有函数作用域,因此在此循环结束后$k仍然可用。

相关问题