Heim >Backend-Entwicklung >PHP-Tutorial >php – ArrayAccess-Schnittstelle

php – ArrayAccess-Schnittstelle

伊谢尔伦
伊谢尔伦Original
2016-11-22 11:01:271538Durchsuche

Eine Schnittstelle, die den Zugriff auf Objekte wie Arrays ermöglicht.

Schnittstellenzusammenfassung

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 )
}

Beispiel Nr. 1, Verwendungsbeispiel

<?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[] = &#39;Append 1&#39;;
    $obj[] = &#39;Append 2&#39;;
    $obj[] = &#39;Append 3&#39;;
    print_r($obj);
?>

Die Ausgabe der obigen Routine ist ähnlich wie:

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
        )
)

Methodenliste

ArrayAccess::offsetExists – Überprüfen Sie, ob eine Offset-Position vorhanden ist

ArrayAccess::offsetGet – Rufen Sie den Wert einer Offset-Position ab

ArrayAccess::offsetSet – Legen Sie eine fest offset Der Wert der Offset-Position

ArrayAccess::offsetUnset — Setzt den Wert einer Offset-Position zurück


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn