Junior — Middle
Welke speciale methode maakt het mogelijk om toegang te krijgen tot een object als een array of verzameling van elementen?
sobes.tech AI
Antwoord van AI
In PHP maakt de speciale methode ArrayAccess het mogelijk dat een object zich gedraagt als een array, dat wil zeggen dat je de elementen kunt benaderen met vierkante haakjes.
Om dit te doen, moet de klasse de interface ArrayAccess implementeren, die vier methoden bevat:
offsetExists($offset)— controleert of een element met de sleutel$offsetbestaat.offsetGet($offset)— geeft de waarde van het element met de sleutel$offsetterug.offsetSet($offset, $value)— stelt de waarde$valuein voor de sleutel$offset.offsetUnset($offset)— verwijdert het element met de sleutel$offset.
Voorbeeld:
class MyCollection implements ArrayAccess {
private $container = [];
public function offsetExists($offset) {
return isset($this->container[$offset]);
}
public function offsetGet($offset) {
return $this->container[$offset] ?? null;
}
public function offsetSet($offset, $value) {
if (is_null($offset)) {
$this->container[] = $value;
} else {
$this->container[$offset] = $value;
}
}
public function offsetUnset($offset) {
unset($this->container[$offset]);
}
}
$obj = new MyCollection();
$obj['key'] = 'value';
echo $obj['key']; // toont 'value'
Op deze manier maakt de implementatie van de ArrayAccess-interface het mogelijk om het object te benaderen als een array.