<?php
//为什么输出的$i的值都是10呢?如何表示才能使下面的这个循环成功递减,并且在$i=1时停止?
$start=10;
$end=1;
$addvalue=-1;
/*$sign = $addvalue > 0 ? "<=" : ">=";
$max = $sign.$end;*/
for ($i=$start;$i;$i=$i+$addvalue) {
echo $i."<br>";
/*$num++;
if ($num>=20) exit;*/
}
?>
这样试试!

解决方案 »

  1.   

    楼上的说的肯定不对 的。
    为什么你没有用$end?我用$sign是因为可能$addvalue是正数也可能是负数。所以for循环中的限制循环结束的是用表达式表示的。
      

  2.   

    $start = 10;
    $end = 1;
    $addvalue = -1;$sign = $addvalue > 0 ? "<=" : ">=";
    echo $max = '$i'.$sign.$end;for ($i=$start; eval("return $max;"); $i+=$addvalue) {
      echo $i."<br>";  $num++;
      if ($num>=20) exit;
    }
      

  3.   

    你要 
     $num++;
      if ($num>=20) exit; 
    拿来做什么 ??