您现在的位置是:首页 > PHP框架交流PHP框架交流
php对象当数组使用 接口ArrayAccess对象下标取值赋值 php进阶
上善若水2022-01-02 16:52:10【PHP框架交流】
2000人已围观
简介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)
相关文章
随机图文
ThinkPHP6.0 搜索器
搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方法(该方法必须是public类型),方法命名规范为:searchFieldNameAttrFieldName为数据php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。逗女生开心的五个经典幽默笑话
1、推销员:先生,买个扩音器吧,跳楼价,才十块。路人:用不着,不买!你拉着我干嘛,再不放手我喊警察了。推销员:警察那么远,听不见的,你买个扩音器喊吧。2、上课睡觉:某生上课时睡觉,被老师发现。老师:“你为什么在上课时睡觉?”该生:“我没睡觉哇!”老师:“那你为什么闭上眼睛?”该生:“我在闭目沉思!”老师:“那你为什么直点头?”该生:“您刚才讲得很有道理!”老师:“那你为什么直流口水?”该生PHP8.1新特性 Final 类常量
PHP8.1新特性 Final 类常量 大家都知道cost修饰的常量是不可以改变的,然而再继承中却可以改变,新版的final就解决这个问题。旧版写法 class Foo { public co