主要思路实现ArrayAccess接口和__get,__set魔术方法
classArrObjectimplementsArrayAccess {private$_data;
publicfunction__construct($data){$this->_data = $data;
}
publicfunctionoffsetGet($offset){return ($this->offsetExists($offset) ? $this->_data[$offset] : null);
}
publicfunctionoffsetSet($offset, $value){$this->_data[$offset] = $value;
}
publicfunctionoffsetExists($offset){returnisset($this->_data[$offset]);
}
publicfunctionoffsetUnset($offset){if($this->offsetExists($offset)){
unset($this->_data[$offset]);
}
}
publicfunction__get($offset){return ($this->offsetExists($offset) ? $this->_data[$offset] : null);
}
publicfunction__set($offset, $value){$this->_data[$offset] = $value;
}
}测试:
PHP经典实例(第2版)能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。《PHP经典实例(第2版)》将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,《PHP经典实例(第2版)》中内容涵盖了:表单处理;Session管理;数据库交互;使用We
$data = array('a'=>'a','b'=>'b','c'=>'c');
$test = new ArrObject($data);
echo$test['a']; //aecho$test->a; //a').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了 PHP实现对象属性按数组方式访问,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










