PHP 高级编程(5/5)_PHP教程
php
spl
ArrayAccess接口
ArrayAccess接口是对象的行为看起来像个数组,定义了四个方法。接口概要如下:
<span>ArrayAccess { </span><span>/*</span><span> Methods </span><span>*/</span> <span>abstract</span> <span>public</span><span> boolean offsetExists ( mixed $offset ) </span><span>abstract</span> <span>public</span><span> mixed offsetGet ( mixed $offset ) </span><span>abstract</span> <span>public</span> <span>void</span><span> offsetSet ( mixed $offset , mixed $value ) </span><span>abstract</span> <span>public</span> <span>void</span><span> offsetUnset ( mixed $offset ) }</span>
登录后复制
ArrayAccess接口自身没有提供计算书组重元素数量的功能,如果要计算数量可以通过实现Countble接口。这个接口包含了一个count()方法,并且返回元素的数量。
<?<span>php </span><span>class</span><span> MyArray implements ArrayAccess { </span><span>protected</span><span> $_arr; </span><span>public</span><span> function __construct() { $</span><span>this</span>->_arr =<span> array(); } </span><span>public</span><span> function offsetSet($offset, $value) { $</span><span>this</span>->_arr[$offset] =<span> $value; } </span><span>public</span><span> function offsetGet($offset) { </span><span>return</span> $<span>this</span>-><span>_arr[$offset]; } </span><span>public</span><span> function offsetExists($offset) { </span><span>return</span> array_key_exists($offset, $<span>this</span>-><span>_arr); } </span><span>public</span><span> function offsetUnset($offset) { unset($</span><span>this</span>-><span>_arr[$offset]); } } $MyArray </span>= <span>new</span><span> MyArray(); $MyArray[</span><span>'</span><span>first</span><span>'</span>] = <span>'</span><span>test</span><span>'</span><span>; echo $MyArray[</span><span>'</span><span>first</span><span>'</span><span>]; unset($MyArray[</span><span>'</span><span>first</span><span>'</span><span>]); </span>?>
登录后复制
ArratObject 类介绍
ArrayObject 类是一个 ArrayAccess 接口的实现类,它提供了迭代功能,以及很多用来排序和处理数据的非常有用的方法。
ArrayObject <span>implements</span> IteratorAggregate , ArrayAccess , Serializable ,<span> Countable { </span><span>/*</span><span> Constants </span><span>*/</span> <span>const</span> <span>integer</span> STD_PROP_LIST = 1<span> ; </span><span>const</span> <span>integer</span> ARRAY_AS_PROPS = 2<span> ; </span><span>/*</span><span> Methods </span><span>*/</span> <span>public</span> __construct ([ <span>mixed</span> <span>$input</span> = [] [, int <span>$flags</span> = 0 [, <span>string</span> <span>$iterator_class</span> = "ArrayIterator"<span> ]]] ) </span><span>public</span> void append ( <span>mixed</span> <span>$value</span><span> ) </span><span>public</span> void <span>asort</span><span> ( void ) </span><span>public</span> int <span>count</span><span> ( void ) </span><span>public</span> <span>array</span> exchangeArray ( <span>mixed</span> <span>$input</span><span> ) </span><span>public</span> <span>array</span><span> getArrayCopy ( void ) </span><span>public</span><span> int getFlags ( void ) </span><span>public</span><span> ArrayIterator getIterator ( void ) </span><span>public</span> <span>string</span><span> getIteratorClass ( void ) </span><span>public</span> void <span>ksort</span><span> ( void ) </span><span>public</span> void <span>natcasesort</span><span> ( void ) </span><span>public</span> void <span>natsort</span><span> ( void ) </span><span>public</span> bool offsetExists ( <span>mixed</span> <span>$index</span><span> ) </span><span>public</span> <span>mixed</span> offsetGet ( <span>mixed</span> <span>$index</span><span> ) </span><span>public</span> void offsetSet ( <span>mixed</span> <span>$index</span> , <span>mixed</span> <span>$newval</span><span> ) </span><span>public</span> void offsetUnset ( <span>mixed</span> <span>$index</span><span> ) </span><span>public</span> <span>string</span> <span>serialize</span><span> ( void ) </span><span>public</span> void setFlags ( int <span>$flags</span><span> ) </span><span>public</span> void setIteratorClass ( <span>string</span> <span>$iterator_class</span><span> ) </span><span>public</span> void <span>uasort</span> ( callable <span>$cmp_function</span><span> ) </span><span>public</span> void <span>uksort</span> ( callable <span>$cmp_function</span><span> ) </span><span>public</span> void <span>unserialize</span> ( <span>string</span> <span>$serialized</span><span> ) }</span>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保护它?
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
