ArrayAccess(数组式访问)接口
admin
2023-06-15 08:02:21
0
接口摘要
 ArrayAccess {
/* 方法 */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}


举个例子

class Test implements ArrayAccess
{
    private $testData = [];

    public function offsetExists($offset)
    {
        echo 'call ' . __METHOD__ . "\r\n";
        return isset($this->testData[$offset]);
    }

    public function offsetGet($offset)
    {
        echo 'call ' . __METHOD__ . "\r\n";
        return $this->testData[$offset];
    }

    public function offsetSet($offset, $value)
    {
        echo 'call ' . __METHOD__ . "\r\n";
        return $this->testData[$offset] = $value;
    }

    public function offsetUnset($offset)
    {
        echo 'call ' . __METHOD__ . "\r\n";
        unset($this->testData[$offset]);
    }

}



$obj = new Test();

if (!isset($obj['name'])) {    //call Test::offsetExists
    $obj['name'] = 'zhangsan';    //call Test::offsetSet
}
echo $obj['name'] . "\r\n";    //call Test::offsetGet

var_dump($obj);

$obj['age'] = 18;    //call Test::offsetSet


echo $obj['age'] . "\r\n";    //call Test::offsetGet


unset($obj['address']);    //call Test::offsetUnset

相关内容

热门资讯

凤凰晚报丨投毒杀人者、 三体公... 今日人物【风暴眼丨中国版“绝命毒师”伏法!揭秘三体原CEO许垚投毒轨迹】“三体公司”原CEO许垚,被...
大润发创始人尹衍樑逝世,享年7... 5月26日,润泰集团证实,润泰集团总裁、唐奖创办人、大润发创始人尹衍樑,于2026年5月26日凌晨4...
全国科技工作者日 |市科协搭台... 科技创新是很多中小企业的“短板”,为帮助企业解决技术难题,5月20日,泰州市科协组织“工博士”科技服...
LLC磁集成变压器厂家梳理 新... 导语:LLC磁集成变压器作为高频变压器领域的技术分支,凭借高功率密度、低损耗等特性,成为新能源、工业...
王坚院士:人工智能已成为最重要... “今天人工智能已经变得跟数学一样基础。大家不要认为人工智能只属于IT行业,甚至不要把它当成一个具体行...
2026年6月企业管控AI工作... 2026年,企业数字化管控进入深水区,销售客资流失、过程难监管、投流转化低、新人成长慢,已成为阻碍企...
爱奇艺被骂惨后,它带着10万个... 作者|周松 原创首发|蓝字计划 爱奇艺AI艺人争议的余温还在,另一门更大的“假人”生意已经站到了港交...
68岁男子出轨“90后”,被指... 5月25日,“妻子状告68岁丈夫向90后女子转账近4800万”一案开庭。红星新闻记者从原告李女士方获...
惊人让步!特朗普的新帖子炸了 北京时间周二早上跟伊朗相关发生两件“大事”。一件是美军轰炸伊朗南部的布雷船和导弹阵地,而在那之前伊朗...
德国华人连环迷奸案,“体面人”... 当地时间5月20日上午,柏林地方法院一楼门外,自发前来旁听的人们沿着狭窄的旋转楼梯,一路排到了三楼。...