2014-09-25 80 views
-2

为什么$ 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++; 
} 
+3

在while语句前放置'$ k' – 2014-09-25 04:26:51

回答

2

的问题是,你每次都创建一个新的变量,而循环运行初始化$k之前while循环。如果在while循环之前放置$k,那么您将能够增加它并准确查看while循环执行的次数。

注意PHP只有函数范围,所以$k在循环结束后仍然可用。

+0

谢谢你清理那个! – Kolinio 2014-09-25 04:36:23

2

您初始化while循环内的变量$k

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

这将每次重置其值,直到while条件失败。所以,它的值初始化只有一次,就像

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

谢谢,这有帮助! – Kolinio 2014-09-25 04:35:39

+0

@ Kolinio ..很高兴帮助你。 – Jenz 2014-09-25 04:36:40