php _get _set
求大神指教以下代码的输出,为什么我得到的总是1,和2
class myClass{
private $arr = array('x'=>null,'y'=>null);
function _get($property){
if(array_key_exists($property,$this->arr)){
return $this->arr[$property];
}else{
echo "can not find key $property";
}
}
function _set($property,$value){
if(array_key_exists($property,$this->arr)){
$this->arr[$property] = $value;
}else{
echo "can not find key $property";
}
}
}
$obj = new myClass();
$obj->x = 1;
echo $obj->x;
print "\n";
$obj->d = 2;
echo $obj->d;
?>
------解决方案--------------------
魔术方法前面都是双下划线 __get、__set
0
0
相关文章
怎么用php用双引号用php_PHP双引号中变量解析与代码使用方法教程
php中构建方法怎么用PHP类构造方法(_construct)使用方法教程
WordPress:正确判断当前文章是否属于指定分类术语
PHP 对象属性在字符串插值中的正确使用方法
PHP复杂变量插值:避免“对象无法转换为字符串”错误
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具










