程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 高級編程(5/5)

PHP 高級編程(5/5)

編輯:關於PHP編程

ArrayAccess接口

ArrayAccess接口是對象的行為看起來像個數組,定義了四個方法。接口概要如下:

ArrayAccess {
/* Methods */
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 )
}

ArrayAccess接口自身沒有提供計算書組重元素數量的功能,如果要計算數量可以通過實現Countble接口。這個接口包含了一個count()方法,並且返回元素的數量。

<?php

class MyArray implements ArrayAccess
{
    protected $_arr;
    
    public function __construct()
    {
        $this->_arr = array();
    }

    public function offsetSet($offset, $value)
    {
        $this->_arr[$offset] = $value;
    }

    public function offsetGet($offset)
    {
        return $this->_arr[$offset];
    }


    public function offsetExists($offset)
    {
        return array_key_exists($offset, $this->_arr);
    }

    public function offsetUnset($offset)
    {
        unset($this->_arr[$offset]);
    }
}

$MyArray = new MyArray();
$MyArray['first'] = 'test';
echo $MyArray['first'];
unset($MyArray['first']);

?>

ArratObject 類介紹

ArrayObject 類是一個 ArrayAccess 接口的實現類,它提供了迭代功能,以及很多用來排序和處理數據的非常有用的方法。

ArrayObject implements IteratorAggregate , ArrayAccess , Serializable , Countable {
/* Constants */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Methods */
public __construct ([ mixed $input = [] [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )
public void append ( mixed $value )
public void asort ( void )
public int count ( void )
public array exchangeArray ( mixed $input )
public array getArrayCopy ( void )
public int getFlags ( void )
public ArrayIterator getIterator ( void )
public string getIteratorClass ( void )
public void ksort ( void )
public void natcasesort ( void )
public void natsort ( void )
public bool offsetExists ( mixed $index )
public mixed offsetGet ( mixed $index )
public void offsetSet ( mixed $index , mixed $newval )
public void offsetUnset ( mixed $index )
public string serialize ( void )
public void setFlags ( int $flags )
public void setIteratorClass ( string $iterator_class )
public void uasort ( callable $cmp_function )
public void uksort ( callable $cmp_function )
public void unserialize ( string $serialized )
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved