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;
}
则可以正确调用,求解,!=不是比较运算符么?在这里为什么不可以!!
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了...
貌似是这样...
$propertyValue != "男" || $propertyValue != "女"为true,所以return了...
貌似是这样...
作者: 卖身葬小强 发布时间: 2011-07-05