任何变量(当然也包括类的属性)在没有显式赋值的时候,均为null。即“空”
所以你echo $this->linkID;却又不输出当if($this->linkID == 0)时,php将自动转换数据类型进行比较(一般转换为数值型)。在数值类型中“0”也表示“空”当if($this->linkID === 0) 时,判别式就不成立了,因为类型不同

解决方案 »

  1.   

    ($this->linkID==0) => ($this->linkID === 0)因为变量不存在所以是false, 而0在对比的时候也会转成flase
    所以就是flalse == false 结果为true
    用===去做比较,就不会转换变量类型
      

  2.   

    变量只是声明了,没有初始化!(引用唠叨大哥的话 null)
    此处应该用等同符号 === 来判断!
    你写的那个能执行!
      

  3.   

    嗯,受教了
    结贴给分了
    csdn真是个好地方