亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP數組式訪問接口ArrayAccess用法分析

2024-09-04 11:46:42
字體:
來源:轉載
供稿:網友

本文實例講述了PHP數組式訪問接口ArrayAccess用法。分享給大家供大家參考,具體如下:

PHP  ArrayAccess接口又叫數組式訪問接口,該接口的作用是提供像訪問數組一樣訪問對象的能力。

接口摘要如下:

  1. ArrayAccess { 
  2.   // 獲取一個偏移位置的值 
  3.   abstract public mixed offsetGet ( mixed $offset ) 
  4.   // 設置一個偏移位置的值 
  5.   abstract public void offsetSet ( mixed $offset , mixed $value ) 
  6.   // 檢查一個偏移位置是否存在 
  7.   abstract public boolean offsetExists ( mixed $offset ) 
  8.   // 復位一個偏移位置的值 
  9.   abstract public void offsetUnset ( mixed $offset ) 

例子說明:

  1. <?php 
  2. /** 
  3. * ArrayAndObjectAccess 
  4. * 該類允許以數組或對象的方式進行訪問 
  5. * 
  6. * @author 瘋狂老司機 
  7. */ 
  8. class ArrayAndObjectAccess implements ArrayAccess { 
  9.   /** 
  10.    * 定義一個數組用于保存數據 
  11.    * 
  12.    * @access private 
  13.    * @var array 
  14.    */ 
  15.   private $data = []; 
  16.   /** 
  17.    * 以對象方式訪問數組中的數據 
  18.    * 
  19.    * @access public 
  20.    * @param string 數組元素鍵名 
  21.    */ 
  22.   public function __get($key) { 
  23.     return $this->data[$key]; 
  24.   } 
  25.   /** 
  26.    * 以對象方式添加一個數組元素 
  27.    * 
  28.    * @access public 
  29.    * @param string 數組元素鍵名 
  30.    * @param mixed 數組元素值 
  31.    * @return mixed 
  32.    */ 
  33.   public function __set($key,$value) { 
  34.     $this->data[$key] = $value
  35.   } 
  36.   /** 
  37.    * 以對象方式判斷數組元素是否設置 
  38.    * 
  39.    * @access public 
  40.    * @param 數組元素鍵名 
  41.    * @return boolean 
  42.    */ 
  43.   public function __isset($key) { 
  44.     return isset($this->data[$key]); 
  45.   } 
  46.   /** 
  47.    * 以對象方式刪除一個數組元素 
  48.    * 
  49.    * @access public 
  50.    * @param 數組元素鍵名 
  51.    */ 
  52.   public function __unset($key) { 
  53.     unset($this->data[$key]); 
  54.   } 
  55.   /** 
  56.    * 以數組方式向data數組添加一個元素 
  57.    * 
  58.    * @access public 
  59.    * @abstracting ArrayAccess 
  60.    * @param string 偏移位置 
  61.    * @param mixed 元素值 
  62.    */ 
  63.   public function offsetSet($offset,$value) { 
  64.     if (is_null($offset)) { 
  65.       $this->data[] = $value
  66.     } else { 
  67.       $this->data[$offset] = $value
  68.     } 
  69.   } 
  70.   /** 
  71.    * 以數組方式獲取data數組指定位置元素 
  72.    * 
  73.    * @access public 
  74.    * @abstracting ArrayAccess 
  75.    * @param 偏移位置 
  76.    * @return mixed 
  77.    */ 
  78.   public function offsetGet($offset) { 
  79.     return $this->offsetExists($offset) ? $this->data[$offset] : null; 
  80.   } 
  81.   /** 
  82.    * 以數組方式判斷偏移位置元素是否設置 
  83.    * 
  84.    * @access public 
  85.    * @abstracting ArrayAccess 
  86.    * @param 偏移位置 
  87.    * @return boolean 
  88.    */ 
  89.   public function offsetExists($offset) { 
  90.     return isset($this->data[$offset]); 
  91.   } 
  92.   /** 
  93.    * 以數組方式刪除data數組指定位置元素 
  94.    * 
  95.    * @access public 
  96.    * @abstracting ArrayAccess 
  97.    * @param 偏移位置 
  98.    */ 
  99.   public function offsetUnset($offset) { 
  100.     if ($this->offsetExists($offset)) { 
  101.       unset($this->data[$offset]); 
  102.     } 
  103.   } 
  104. //Vevb.com 
  105. $animal = new ArrayAndObjectAccess(); 
  106. $animal->dog = 'dog'// 調用ArrayAndObjectAccess::__set 
  107. $animal['pig'] = 'pig'// 調用ArrayAndObjectAccess::offsetSet 
  108. var_dump(isset($animal->dog)); // 調用ArrayAndObjectAccess::__isset 
  109. var_dump(isset($animal['pig'])); // 調用ArrayAndObjectAccess::offsetExists 
  110. var_dump($animal->pig); // 調用ArrayAndObjectAccess::__get 
  111. var_dump($animal['dog']); // 調用ArrayAndObjectAccess::offsetGet 
  112. unset($animal['dog']); // 調用ArrayAndObjectAccess::offsetUnset 
  113. unset($animal->pig); // 調用ArrayAndObjectAccess::__unset 
  114. var_dump($animal['pig']); // 調用ArrayAndObjectAccess::offsetGet 
  115. var_dump($animal->dog); // 調用ArrayAndObjectAccess::__get 
  116. ?> 

以上輸出:

  1. boolean true 
  2. boolean true 
  3. string 'pig' (length=3) 
  4. string 'dog' (length=3) 
  5. null 
  6. null 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产页| 久久免费成人精品视频| 亚洲精选一区二区| 欧美大片欧美激情性色a∨久久| 日韩一区二区三区国产| 亚洲精品www| 亚洲人成网在线播放| 欧美三级欧美成人高清www| 一级做a爰片久久毛片美女图片| 国产精品在线看| 一区二区三区精品99久久| 日韩av不卡在线| 热久久免费国产视频| 国产精品综合网站| 国产v综合ⅴ日韩v欧美大片| 久久亚洲私人国产精品va| 亚洲91av视频| 26uuu日韩精品一区二区| 国产精品美女在线| 久久久国产一区二区| 一个人看的www欧美| 91美女片黄在线观| 国产一区视频在线| 精品亚洲男同gayvideo网站| 日韩一区二区久久久| 国产日韩专区在线| 91精品久久久久久久| 亚洲精品国产福利| 亚洲美女av网站| 成人黄色激情网| 国产中文字幕日韩| 欧美大片网站在线观看| 国产精品2018| 97在线看免费观看视频在线观看| 亚洲精品久久久久久久久| 久久精品国产精品亚洲| 国产视频欧美视频| 国语自产偷拍精品视频偷| 国产91精品不卡视频| 日韩欧美a级成人黄色| 中文字幕在线亚洲| 在线观看成人黄色| 亚洲白拍色综合图区| 国产亚洲美女精品久久久| 日本精品性网站在线观看| 久久国产精品久久精品| 亚洲www视频| 永久免费看mv网站入口亚洲| 上原亚衣av一区二区三区| 亚洲新声在线观看| 亚洲欧美中文字幕在线一区| 精品亚洲夜色av98在线观看| 日韩福利在线播放| 欧美国产精品人人做人人爱| 欧美国产在线电影| 亚洲va欧美va在线观看| 亚洲精品国产精品国自产在线| 日韩精品在线观看网站| 亚洲一级黄色av| 日韩在线视频观看| 亚洲视频在线观看免费| 国产高清在线不卡| 在线观看精品自拍私拍| 亚洲欧美另类自拍| 北条麻妃久久精品| 欧美成人午夜影院| 久久久久久伊人| 国产午夜精品理论片a级探花| 亚洲综合自拍一区| 欧美日韩国产在线播放| 久久精品国产96久久久香蕉| 欧美日韩中文字幕在线视频| 最近免费中文字幕视频2019| 国产精品第一区| 91国在线精品国内播放| 精品国产一区av| 亚洲高清久久久久久| 福利视频一区二区| 一夜七次郎国产精品亚洲| 欧美激情在线观看视频| 亚洲精品99久久久久中文字幕| 狠狠色噜噜狠狠狠狠97| xxxx欧美18另类的高清| 成人亲热视频网站| 日韩中文字幕免费看| 中文字幕精品在线| 国产精品成人va在线观看| 最近中文字幕mv在线一区二区三区四区| 最新国产精品亚洲| 精品少妇一区二区30p| 欧美激情精品久久久久久黑人| 亚洲精品videossex少妇| 国产成人aa精品一区在线播放| 91久久精品国产91性色| 亚洲另类激情图| 555www成人网| 日韩中文字幕在线看| 久久久精品一区二区| 亚洲人成在线电影| 欧美国产第二页| 色爱精品视频一区| 精品视频在线播放免| 91精品视频免费看| 亚洲人成电影网站色www| 精品国产欧美一区二区五十路| 国产精品自产拍在线观| 黑人狂躁日本妞一区二区三区| 久久久成人精品视频| 亚洲品质视频自拍网| 在线电影中文日韩| 欧美有码在线视频| 日韩精品中文字幕在线播放| 欧美日韩免费看| 97在线观看视频国产| 欧美在线观看一区二区三区| 日本精品久久久久影院| 欧美日韩成人在线观看| 亚洲成人黄色网址| 欧美亚洲免费电影| 97香蕉久久夜色精品国产| 精品国产一区二区三区久久狼5月| 久久久综合av| 日韩久久精品成人| 日韩国产欧美精品在线| 国产欧美精品在线播放| 日韩av一区在线| 尤物tv国产一区| 国产在线视频欧美| 久久久99久久精品女同性| 91成人精品网站| 国产视频欧美视频| 久久精品欧美视频| 日韩av有码在线| 菠萝蜜影院一区二区免费| 久久免费精品日本久久中文字幕| 国产国语刺激对白av不卡| 91精品国产综合久久男男| 日韩欧美国产激情| 91在线网站视频| 国产精品揄拍500视频| 国产精品久久久久久久久久新婚| yellow中文字幕久久| 亚洲欧美中文字幕在线一区| 精品久久中文字幕| 国产精品视频网址| 视频在线一区二区| 日韩电影中文字幕在线观看| 91免费在线视频网站| 亚洲欧洲黄色网| 国产婷婷97碰碰久久人人蜜臀| 中文字幕在线成人| 日本国产一区二区三区| 热久久这里只有精品| 高跟丝袜一区二区三区| 国产69久久精品成人看| 亚洲黄色成人网| 国内精品久久影院| 激情懂色av一区av二区av| 日韩美女毛茸茸| 国产午夜精品久久久| 欧美黑人视频一区| 国产精品1区2区在线观看| 久久久久久久影院| 久久久999精品免费|