您现在的位置是:首页 > PHP框架交流PHP框架交流
php对象当数组使用 接口ArrayAccess对象下标取值赋值 php进阶
上善若水2022-01-02 16:52:10【PHP框架交流】 1854人已围观
简介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)
相关文章
随机图文
-
centos查看jenkins的admin初始密码
centos查看jenkins的admin初始密码,我们用yum安装成功后,首次会提示密码的位置,以解锁jenkins,但是如果你没有没有记住密码,下次登录又要回来找密码。jenkins默认密码的 位 -
Thymeleaf onclick参数问题 如何添加引号
最近在使用Thymeleaf涉及到直接在onclick上传参,使劲百度如何在onclick添加引号,实际上,方向错了.网上其实很早就给出了正确答案!答案如下: 由于页面上查看源会出现转义的情况!如下 -
springboot 自带定时任务
定时执行是比较常见的功能,springboot自带了定时执行,上手第一个hello cron第一个定时脚本执行… 搭建springboot项目编写需要执行cron定时脚本添加注解加入容器以及开启定时脚 -
yii框架中yiisoft/yii2-redis redis操作
yii框架中yiisoft/yii2-redis redis操作字符串学习笔记,设置值获取值设置过期时间,自增自键运算等.参考网址https://redis.io/commands/decrby -