PHP基礎(chǔ)之預(yù)定義接口4——ArrayAccess接口
提供像訪問數(shù)組一樣訪問對象的能力的接口。
接口摘要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?— 檢查一個偏移位置是否存在ArrayAccess::offsetGet?— 獲取一個偏移位置的值A(chǔ)rrayAccess::offsetSet?— 設(shè)置一個偏移位置的值A(chǔ)rrayAccess::offsetUnset?— 復(fù)位一個偏移位置的值
相關(guān)文章:
1. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁2. 讀大數(shù)據(jù)量的XML文件的讀取問題3. 利用CSS3新特性創(chuàng)建透明邊框三角4. 解析原生JS getComputedStyle5. PHP循環(huán)與分支知識點梳理6. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))7. css代碼優(yōu)化的12個技巧8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. ASP實現(xiàn)加法驗證碼10. JSP+Servlet實現(xiàn)文件上傳到服務(wù)器功能
