我的PHP
代码出了什么问题。结果变为无穷大并使我的浏览器挂起。任何人都可以告诉它是病毒还是不病毒?
代码:
<?php
$counter = 10;
while( $counter =3) {
echo "$counter";
}
?>
答案 0 :(得分:6)
$counter = 3
指定值3,因为3是真实的,它会传递while
条件。你拥有的不是病毒,它只是一个非常好的无限循环。
答案 1 :(得分:2)
您在while循环中使用的是=
而不是==
。因此,$counter
的值为3。因为它总是3,你的循环永远不会结束。
答案 2 :(得分:1)
PHP中的赋值返回您指定的值,这是一个问题,因为您的while
条件包含赋值。 ($counter = 3)
会返回3
,这是真的,所以每次都会执行while
循环,导致浏览器挂起。
修复方法是确保在while
循环中使用比较,而不是赋值,并逐个减少$counter
变量迭代,或酌情:
$counter = 10;
while( $counter == 3) {
echo "$counter";
$counter -= 1;
}
答案 3 :(得分:-1)
可能是它的骇人听闻: -
: - 这里你把整数10放在$ counter变量
中 <?php $counter = 10; ?>
现在在while循环中你做了一个像这样的过程: - 你再次在变量$ counter中输入整数3。
所以在完成这个过程后(在$ counter变量中放入整数3),该过程返回 true
while循环将一直运行,直到进程返回 true ,并在进程返回false时结束
<?php
while( $counter =3) {// this is turn condition so loop will not stop
echo "$counter";
}
?>
好的只是在这种情况下while循环将像
一样运行
示例案例1:
<?php
while(TRUE){
//code will run
echo $counter;
//it will only give you output 3333333....to the ends of end. like this
}
?>
示例案例2:
如果进程返回false,则循环结束
<?php
while(FALSE){
//code will not run
}
?>
总而言之: - 循环或条件仅在进程结束时才会运行