PHP基礎(chǔ)之預(yù)定義接口4——ArrayAccess接口
提供像訪問(wèn)數(shù)組一樣訪問(wèn)對(duì)象的能力的接口。
接口摘要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 )}
Example #1 使用范例
<?php class obj implements ArrayAccess {private $container = array();public function __construct() { $this->container = array('one' => 1,'two' => 2,'three' => 3, );}public function offsetSet($offset, $value) { if (is_null($offset)) {$this->container[] = $value; } else {$this->container[$offset] = $value; }}public function offsetExists($offset) { return isset($this->container[$offset]);}public function offsetUnset($offset) { unset($this->container[$offset]);}public function offsetGet($offset) { return isset($this->container[$offset]) ? $this->container[$offset] : null;} } $obj = new obj; var_dump(isset($obj['two'])); var_dump($obj['two']); unset($obj['two']); var_dump(isset($obj['two'])); $obj['two'] = 'A value'; var_dump($obj['two']); $obj[] = ’Append 1’; $obj[] = ’Append 2’; $obj[] = ’Append 3’; print_r($obj);?>
以上例程的輸出類似于:
bool(true)int(2)bool(false)string(7) 'A value'obj Object( [container:obj:private] => Array( [one] => 1 [three] => 3 [two] => A value [0] => Append 1 [1] => Append 2 [2] => Append 3))方法列表ArrayAccess::offsetExists?— 檢查一個(gè)偏移位置是否存在ArrayAccess::offsetGet?— 獲取一個(gè)偏移位置的值A(chǔ)rrayAccess::offsetSet?— 設(shè)置一個(gè)偏移位置的值A(chǔ)rrayAccess::offsetUnset?— 復(fù)位一個(gè)偏移位置的值
相關(guān)文章:
1. IntelliJ IDEA設(shè)置自動(dòng)提示功能快捷鍵的方法2. 通過(guò)Django Admin+HttpRunner1.5.6實(shí)現(xiàn)簡(jiǎn)易接口測(cè)試平臺(tái)3. Docker 部署 Prometheus的安裝詳細(xì)教程4. IntelliJ IDEA安裝插件的方法步驟5. idea導(dǎo)入maven項(xiàng)目的方法6. idea重置默認(rèn)配置的方法步驟7. idea給項(xiàng)目打war包的方法步驟8. idea打開(kāi)多個(gè)窗口的操作方法9. php過(guò)濾器使用詳解10. IntelliJ IDEA調(diào)整字體大小的方法

網(wǎng)公網(wǎng)安備