arrayobject.php的使用介紹
介紹:
ArrayObject是一個實現了ArrayAccess,Countable,IteratorAggregate,Serializable接口的類。可以像數組一樣操作,可以通過key/value,或者數字索引,或者迭代器便利,還可以序列化和反序列化。下面將介紹ArrayObject的基本使用方法,包括實例化,數據操作,追加和刪除,遍歷,序列化和反序列化。實例化:
ArrayObject可以使用默認構造方法實例化,也可以傳入一個數組初始化,如下:$arr = new ArrayObject(); // 空數組 $data = array("name" =>"Tom", "age" =>18); $obj = new ArrayObject($data);
數據操作:
ArrayObject即可以使用key/value方式獲取值,也可以使用數字索引獲取值,如下面兩種方式:$data = array("name" =>"Tom", "age" =>18); $obj = new ArrayObject($data); echo $obj["name"]; // 輸出Tom echo $obj[0]; // 注意:輸出Nothing,因為沒有0這個索引
追加和刪除:
追加使用append方法,刪除使用offsetUnset方法,如下例:$data = array(1, 2, 3); $obj = new ArrayObject($data); $obj->append(4); // 追加元素4 unset($obj[2]); // 刪掉元素3 var_dump($obj->getArrayCopy()); // 打印ArrayObject對象中的數據
遍歷:
遍歷ArrayObject有兩種方式:foreach和getIterator方法,如下:$data = array("name" =>"Tom", "age" =>18); $obj = new ArrayObject($data); // 方式1 foreach ($obj as $key =>$value) { echo "{$key}: {$value}
"; } // 方式2 $iterator = $obj->getIterator(); while ($iterator->valid()) { echo "{$iterator->key()}: {$iterator->current()}
"; $iterator->next(); }
序列化和反序列化:
序列化使用serialize方法,反序列化使用unserialize方法,如下:$data = array("name" =>"Tom", "age" =>18); $obj = new ArrayObject($data); $str = serialize($obj); $obj2 = unserialize($str); var_dump($obj2->getArrayCopy()); // 打印obj2對象中的數據以上是ArrayObject的基本使用方法,相對于普通的數組,它更好地實現了類似對象的功能。可以對于一些特殊的數據結構進行處理。特別是開發一些數據結構類式的程序時,它具有更大的優勢。
上一篇css3變形屬性
下一篇java怎么求三個數的和