ArrayAccess
Hoppa till navigering
Hoppa till sök
Gränssnittet ArrayAccess
(PHP 5, PHP 7, PHP 8)
Introduktion
Gränssnitt för att tillhandahålla åtkomst till objekt som om de vore arrayer.
Gränssnittssammanfattning
interface ArrayAccess { /* Metoder */ public offsetExists(mixed $offset): bool public offsetGet(mixed $offset): mixed public offsetSet(mixed $offset, mixed $value): void public offsetUnset(mixed $offset): void }
Exempel
Exempel #1 Grundläggande användning
<?php class Obj implements ArrayAccess { public $container = [ "one" => 1, "two" => 2, "three" => 3, ]; public function offsetSet($offset, $value): void { if (is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } public function offsetExists($offset): bool { return isset($this->container[$offset]); } public function offsetUnset($offset): void { unset($this->container[$offset]); } public function offsetGet($offset): mixed { 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[] = 'Append 1'; $obj[] = 'Append 2'; $obj[] = 'Append 3'; print_r($obj); ?>
Ovanstående exempel kommer att ge något liknande:
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 ) )
Innehållsförteckning
- ArrayAccess::offsetExists — Huruvida en offset existerar
- ArrayAccess::offsetGet — Hämtar en offset
- ArrayAccess::offsetSet — Tilldelar ett värde till den angivna offseten
- ArrayAccess::offsetUnset — Avlägsnar en offset
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/class.arrayaccess.php
PHP
Språkreferens
Fördefinierade Gränssnitt och Klasser
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.