您现在的位置是:首页 > PHP框架交流PHP框架交流
php对象当数组使用 接口ArrayAccess对象下标取值赋值 php进阶
上善若水2022-01-02 16:52:10【PHP框架交流】 1440人已围观
简介php对象当数组使用,一个对象如果没有实现ArrayAccess结果是无法采用下标的方式去调用赋值和获取值的,目前主流的php框架查询出的集合对象都可以使用数组下标的方式去进行赋值.一个简单的demo
php对象当数组使用,一个对象如果没有实现ArrayAccess结果是无法采用下标的方式去调用赋值和获取值的,目前主流的php框架查询出的集合对象都可以使用数组下标的方式去进行赋值.
一个简单的demo实现数据方式赋值 获取值.
class A implements ArrayAccess
{
/**
* @var array $data
*/
public $data = [];
public function offsetExists($offset)
{
echo __FUNCTION__ . PHP_EOL;
return array_key_exists($offset,$this->data);
}
public function offsetGet($offset)
{
echo __FUNCTION__ . PHP_EOL;
return $this->data[$offset];
}
public function offsetSet($offset, $value)
{
echo __FUNCTION__ . PHP_EOL;
$this->data[$offset]=$value;
}
public function offsetUnset($offset)
{
echo __FUNCTION__ . PHP_EOL;
unset($this->data[$offset]);
}
}
$a = new A();
$a['name'] = 'a';
echo $a['a'], PHP_EOL;
echo isset($a['a']), PHP_EOL;
unset($a['a']);
最终的输入结果如下:
offsetSet
offsetGet
offsetExists
offsetUnset
对应的调用方法,大家可以进行对比.依次会调用相当的函数.了解这个之后我们就能知道为啥.框架里面的对象可以把对象当数组使用的.
很赞哦! (1)
相关文章
随机图文
-
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
springboot apache.commons 上传和导出csv
csv是一种常用的表格数据,一般相比excel更加高效,在工作中大量使用,最近尝试了下使用commons-csv导出csv文件,我只是搬运工! 准备工作首先搭建一个简单springboot项目 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
PHP8.1新特性 初始化器
初始化器新版写法 class Service { private Logger $logger; public function __construct( Logg