今天看到了一道题,觉得比较有意思
$n = 20;
for($i = 0; $i < $n; $i--) {
var_dump('-');
}
说是,上面那段代码修改或是增加一处,循环体内执行二十次,明眼人都看出来,上述代码是死循环的,下面是几个方法
1、
$n =20;
for ($i = 0; -$i < $n; $i --) {
var_dump('-');
}
2、
$n = 20;
for ($i = 0; $i < $n; $i ++) {
var_dump('-');
}
3、
$n =20;
for ($i = 0; $i < $n; $n --) {
var_dump('-');
}
不过听说还有好多解法,希望知道的朋友能够列举出来,开开眼界!!!
------解决方案--------------------
$n =20; for ($i = 0; $n < $i; $n --) {
var_dump('-');
}
------解决方案--------------------
$n =20;
for($i = 0; $i*($i+$n) < $n; $i--) {
var_dump('-');
}
------解决方案--------------------
$n =20;
for($i = 0; $i < $n*($i+$n); $i--) {
var_dump('-');
}
这些都可以id,会是改或加都可以,那就可以运用很多公式放在条件那里的
------解决方案--------------------
$n =20;
for ($i = 0; -$i < $n; $i --) {
var_dump('-');
}
------解决方案--------------------
$n = 20;
for($i = 0; ($i*$i) < $n; $i--)
{
var_dump('-');
}
$n = 20;
for($i = 0; abs($i) < $n; $i--)
{
var_dump('-');
}