Home>Article>Backend Development> Detailed explanation of the use of PHP array access interface ArrayAccess

Detailed explanation of the use of PHP array access interface ArrayAccess

php中世界最好的语言
php中世界最好的语言 Original
2018-04-11 10:24:13 2173browse

This time I will bring youPHP arrayDetailed explanation of the use of the access interface ArrayAccess, what are theprecautionsfor using the PHP array access interface ArrayAccess, the following is a practical case, let's take a look .

The example in this article describes the usage of PHP array access interface ArrayAccess. Share it with everyone for your reference, the details are as follows:

PHPArrayAccess interfaceis also called the array access interface. The function of this interface is to provide the ability to accessobjectslike accessing arrays.

InterfaceSummaryis as follows:

ArrayAccess { // 获取一个偏移位置的值 abstract public mixed offsetGet ( mixed $offset ) // 设置一个偏移位置的值 abstract public void offsetSet ( mixed $offset , mixed $value ) // 检查一个偏移位置是否存在 abstract public boolean offsetExists ( mixed $offset ) // 复位一个偏移位置的值 abstract public void offsetUnset ( mixed $offset ) }

Example:

data[$key]; } /** * 以对象方式添加一个数组元素 * * @access public * @param string 数组元素键名 * @param mixed 数组元素值 * @return mixed */ public function set($key,$value) { $this->data[$key] = $value; } /** * 以对象方式判断数组元素是否设置 * * @access public * @param 数组元素键名 * @return boolean */ public function isset($key) { return isset($this->data[$key]); } /** * 以对象方式删除一个数组元素 * * @access public * @param 数组元素键名 */ public function unset($key) { unset($this->data[$key]); } /** * 以数组方式向data数组添加一个元素 * * @access public * @abstracting ArrayAccess * @param string 偏移位置 * @param mixed 元素值 */ public function offsetSet($offset,$value) { if (is_null($offset)) { $this->data[] = $value; } else { $this->data[$offset] = $value; } } /** * 以数组方式获取data数组指定位置元素 * * @access public * @abstracting ArrayAccess * @param 偏移位置 * @return mixed */ public function offsetGet($offset) { return $this->offsetExists($offset) ? $this->data[$offset] : null; } /** * 以数组方式判断偏移位置元素是否设置 * * @access public * @abstracting ArrayAccess * @param 偏移位置 * @return boolean */ public function offsetExists($offset) { return isset($this->data[$offset]); } /** * 以数组方式删除data数组指定位置元素 * * @access public * @abstracting ArrayAccess * @param 偏移位置 */ public function offsetUnset($offset) { if ($this->offsetExists($offset)) { unset($this->data[$offset]); } } } $animal = new ArrayAndObjectAccess(); $animal->dog = 'dog'; // 调用ArrayAndObjectAccess::set $animal['pig'] = 'pig'; // 调用ArrayAndObjectAccess::offsetSet var_dump(isset($animal->dog)); // 调用ArrayAndObjectAccess::isset var_dump(isset($animal['pig'])); // 调用ArrayAndObjectAccess::offsetExists var_dump($animal->pig); // 调用ArrayAndObjectAccess::get var_dump($animal['dog']); // 调用ArrayAndObjectAccess::offsetGet unset($animal['dog']); // 调用ArrayAndObjectAccess::offsetUnset unset($animal->pig); // 调用ArrayAndObjectAccess::unset var_dump($animal['pig']); // 调用ArrayAndObjectAccess::offsetGet var_dump($animal->dog); // 调用ArrayAndObjectAccess::get ?>

The above output:

boolean true boolean true string 'pig' (length=3) string 'dog' (length=3) null null

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Recommended reading:

Detailed explanation of the use of PHP callback functions

How does PHP count binary algorithms

The above is the detailed content of Detailed explanation of the use of PHP array access interface ArrayAccess. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn