php魔术方法中的__set方法碰到的问题

function __set($propertyName,$propertyValue){
           if($propertyName == "sex"){
               if($propertyValue != "男" || $propertyValue != "女")
               return;
               }
                  $this->$propertyName = $propertyValue;
          }
$person1->sex = "女"; 调用失败
而将if条件语句改成
       if($propertyName == "sex"){
               if(!($propertyValue == "男" || $propertyValue == "女"))
               return;
               }
  则可以正确调用,求解,!=不是比较运算符么?在这里为什么不可以!!

作者: beyond1990   发布时间: 2011-07-05

$person1->sex = "女";
$propertyValue != "男" || $propertyValue != "女"为true,所以return了...
貌似是这样...

作者: 卖身葬小强   发布时间: 2011-07-05