首先...那些妖怪-魔头就不要回答了(积分在5000以上的),这个是初学问题。其次别调试,就用你的直接回答问题if (isset($SubAuthArray[1])==1){}是否等于if (isset($SubAuthArray[1])&&($SubAuthArray[1]==1){}啦啦啦啦....

解决方案 »

  1.   

    ...... 好吧 修正一下问题.if (isset($SubAuthArray[1])&&($SubAuthArray[1]==1))
      

  2.   

    这个想测试什么呢?
    结果肯定不一样,主要问的数组初始化吧,
    $SubAuthArray[1] = '';
    isset($SubAuthArray[1]) == true;
    $SubAuthArray[1] == 0 | == NULL | == false 都为真
    $SubAuthArray[1] === ? 全等情况要看初始化吧,刚睡醒,周未就是舒服。
      

  3.   

    晚上没事来看看
    如果是我的话我会这样认为
    if (isset($SubAuthArray[1])==1){
      //这个应该和下面的isset($SubAuthArray[1])是同一道理
      //因为如果isset($SubAuthArray[1])如果为true的话就和1相等了
    }if (isset($SubAuthArray[1])&&($SubAuthArray[1]==1){
      //$SubAuthArray[1]==1,这个相差比较大,当然也是有机会相等的
    }1.$SubAuthArray没有值的话就不相等
    2.如果$SubAuthArray的第二个为1的话就相等。比如$SubAuthArray = array(0,1);
      

  4.   

    总结isset($SubAuthArray[1])==1
    表示的是 $SubAuthArray[1] 已经存在isset($SubAuthArray[1]) && $SubAuthArray[1]==1
    表示的是 $SubAuthArray[1] 已经存在,且 $SubAuthArray[1] 的值为 1 或 ‘1’显然,两者不是一回事
      

  5.   

    赞斑竹的总结,尤其是“且 $SubAuthArray[1] 的值为 1 或 ‘1’”,道出了== 与 === 的差异
      

  6.   

    isset()的返回值是true 和false 啊,当你把$SubAuthArray[1] 的值设置为1 的时候才相等。
      

  7.   

    $SubAuthArray[1] = true;
    $SubAuthArray[1] == 1 为真。