首页 > php > PHP对象使用数组形式访问成员变量
2016
04-06

PHP对象使用数组形式访问成员变量

PHP中有很多接口类,不过平时都不会怎么用到.一般访问php类的变量都是使用类->变量名进行访问.


除了这样还可以实现接口类用数组方式进行访问类["变量名"]


需要实现的是ArrayAccess接口类并且实现这个接口的4个方法就可以了.

//判断存在
public function offsetExists($offset);
//获取时
public function offsetGet($offset);
//设置时
public function offsetSet($offset, $value);
//删除时
public function offsetUnset($offset);

是不是有点像php类的魔术方法呢? __get __set __unset  __isset


ArrayAccess接口具体使用方法:

class Test implements ArrayAccess {
   
   public function offsetExists($offset){
      return isset($this->$offset);
   }
   
   public function offsetGet($offset){
      return $this->$offset;
   }
   
   public function offsetSet($offset, $value){
      $this->$offset = $value;
   }
   
   public function offsetUnset($offset){
      unset($this->$offset);
   }
}
————————————————
版权声明:本文为CSDN博主「私念」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tiancityycf/article/details/105044804

赋值判断删除获取

$obj = new Test();
$obj['a'] = '1';//设置a = 1
$obj['b'] = '2';//设置b = 2
var_dump(isset($obj['c']));//判断c
var_dump(isset($obj['a']));//判断a
unset($obj['a']);//删除a
if(isset($obj['a'])){//判断a是否存在
   var_dump($obj['a']);//获取a
}

 

本文》有 0 条评论

留下一个回复