PHP ArrayAccess介面詳解

2021-07-10 20:32:00 字數 2373 閱讀 3142

php  arrayaccess介面又叫陣列式訪問介面,該介面的作用是提供像訪問陣列一樣訪問物件的能力。

介面摘要如下:

arrayaccess

例子說明:

<?php

/*** arrayandobjectaccess

* 該類允許以陣列或物件的方式進行訪問

** @author 瘋狂老司機

*/class arrayandobjectaccess implements arrayaccess

/*** 以物件方式新增乙個陣列元素

** @access public

* @param string 陣列元素鍵名

* @param mixed 陣列元素值

* @return mixed

*/public function __set($key,$value)

/*** 以物件方式判斷陣列元素是否設定

** @access public

* @param 陣列元素鍵名

* @return boolean

*/public function __isset($key)

/*** 以物件方式刪除乙個陣列元素

** @access public

* @param 陣列元素鍵名

*/public function __unset($key)

/*** 以陣列方式向data陣列新增乙個元素

** @access public

* @abstracting arrayaccess

* @param string 偏移位置

* @param mixed 元素值

*/public function offsetset($offset,$value) else

}/**

* 以陣列方式獲取data陣列指定位置元素

** @access public

* @abstracting arrayaccess

* @param 偏移位置

* @return mixed

*/public function offsetget($offset)

/*** 以陣列方式判斷偏移位置元素是否設定

** @access public

* @abstracting arrayaccess

* @param 偏移位置

* @return boolean

*/public function offsetexists($offset)

/*** 以陣列方式刪除data陣列指定位置元素

** @access public

* @abstracting arrayaccess

* @param 偏移位置

*/public function offsetunset($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

?>

以上輸出:

boolean true

boolean true

string 'pig' (length=3)

string 'dog' (length=3)

null

null

IRelationalOperator 介面的應用

irelationaloperator介面用來確定兩個圖形之間存在的空間關係,空間關係型別包括包含 相交 相等 相接 不相交 重疊 內部等。irelationaloperator介面主要方法有以下8個 1 contains包含關係 包含關係只存在於以下6種情況 點包含點 線包含點 線包含線 面包含點...

IT界匱乏名師

國內著名人力資源專家唐漢祺認為,目前中國it培訓界匱乏名師。為什麼it培訓界匱乏名師?唐漢祺分析認為 1 門檻過低,對學歷基本沒有太多要求。隨著it培訓的遍地開花,對師資的需求直線上公升,而真正的it教師儲備不足。因此,導致了it培訓機構的任課老師良莠不齊。it業的技術發展與知識更新日新月異,很可能...

tablayout fragment 切換介面

addfragment方法是新增fragment replace是替換fragmentprivate void addfragment fragment fragment private void replacefragment fragment fragment mtab.setontabsele...