我最近都有个问题,if语句中的=为什么不是==??还有
<?
if ($ap_step=2 and $dep=$row1[2] and $lev=2)
{
?>

         <input type="submit" name="Submit2" value="同意并签字">
  <?
 }
 else
 {
  echo $row1[8];
 
  }      这段语句中,3个变量分别是1 2 5 ,不符合if的条件,为什么执行if成立时候的语句????奇怪了

解决方案 »

  1.   

    这个应是一直可以的
    赋值语句,总是成立的,
    有一点例外,如果$row1[2]为flase,可能不能执行,可测一下
      

  2.   

    if ($ap_step=2 and $dep=$row1[2] and $lev=2) 难道不是:if ($ap_step==2 && $dep==$row1[2] && $lev==2) 
      

  3.   

    不一样.
     = 是赋值运算符
     == 才是比较运算符= 赋值.只要赋值成功.就返回 真(True)的值在if中进行量值比较时,通常都使用 == 或者  ===
    比如
    $a=false;
    if($a==false)  <---此处为真,执行
    if($a=false)   <---赋值成功,仍然为真,执行
    if($a)         <---此处为原子表达式,为假,不执行.
      

  4.   

    呵呵,我看错了,我还以为是and和&&。