您现在的位置是:首页 > PHP框架交流PHP框架交流
php对象当数组使用 接口ArrayAccess对象下标取值赋值 php进阶
上善若水2022-01-02 16:52:10【PHP框架交流】 1916人已围观
简介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)
相关文章
随机图文
-
fatal: could not read Username for 'https://gitee.com': No such device or address
在测试git拉取代码时fatal:couldnotreadUsernamefor‘https://gitee.com‘:Nosuchdeviceoraddress,采用jenki -
这么多有趣的冷知识,你知道多少呢?
1、两个拳头的周长是脖子的周长。2、 七个脚长是身体的高度。3、 人的左右鼻孔三小时替换呼吸一回,只有感冒了你才深切感觉得到。4、 人在下午没有灵感、越到晚上越聪明、沐浴时更有创造性。5、 血管长度可 -
php 自己打包一个composer包
今天尝试自己自己封装一个包,以后就可以直接composer安装方便复用,一开始看到别人有将官方提供 的包给做成composer包,方便使用,记录下自己的过成. 首先准备一个已经初始话过的仓库地址 并 -
海底大猎杀v0.13.0 无限金币全鱼类破解教程 免破解补丁
在网上下载海底大猎杀v0.13.0,发现不是无限金币,而且鱼类没有完全解锁,也下载的所谓的7项修改器,发现无法检车游戏,更无法修改,最终发现了无限金币全鱼类破解教程,非破解补丁.具体教程:破解视频教程