ArrayAccessインターフェースを実装すると、$this[$offset]
で、内包している要素へアクセスできる。
class ArrayAccessConcrete implements ArrayAccess
{
/**
* @var []
*/
private $data;
public function __construct()
{
$this->data = [
'a' => 'あ',
'b' => 'い',
'c' => 'う',
];
}
/**
* @param $offset
* @return mixed|null
*/
public function getByOffset($offset) {
return $this[$offset];
}
/**
* @param mixed $offset
* @param mixed $value
*/
public function offsetGet($offset) {
return $this->data[$offset] ?? null;
}
// ...
// 著者注
// offsetExists、offsetSet、offsetUnsetの実装
// ...
}
$arrayAccess = new ArrayAccessConcrete();
echo $arrayAccess->getByOffset('a');
あ
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。