【PHP8.x】ArrayAccess::offsetUnset()メソッドの使い方
offsetUnsetメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
offsetUnsetメソッドは、PHPのArrayAccessインターフェースを実装するクラスにおいて、指定されたオフセット(キー)に該当する要素を削除するメソッドです。このArrayAccessインターフェースは、オブジェクトを配列のように、[]構文を使用して要素にアクセスしたり、変更したり、削除したりすることを可能にするためのものです。
具体的には、ArrayAccessを実装したオブジェクトに対して、unset($obj['キー'])のような操作が行われた際に、内部的にこのoffsetUnsetメソッドが呼び出されます。開発者はこのメソッドを実装することで、オブジェクトが持つ内部のデータ構造から、指定されたキーに対応するデータを安全かつ適切に削除するロジックを定義できます。
このメソッドは、削除対象となるオフセットを引数として受け取ります。このオフセットは、配列のキーとして使用される文字列や整数など、任意の有効な型である場合があります。戻り値は特にありません(void型です)。このメカニズムにより、オブジェクトが配列のような振る舞いを持ちながらも、そのデータの削除処理を細かくカスタマイズできるようになります。
構文(syntax)
1<?php 2 3class CustomDataCollection implements ArrayAccess 4{ 5 private array $items = []; 6 7 public function offsetUnset(mixed $offset): void 8 { 9 unset($this->items[$offset]); 10 } 11 12 public function offsetExists(mixed $offset): bool 13 { 14 return isset($this->items[$offset]); 15 } 16 17 public function offsetGet(mixed $offset): mixed 18 { 19 return $this->items[$offset] ?? null; 20 } 21 22 public function offsetSet(mixed $offset, mixed $value): void 23 { 24 if (is_null($offset)) { 25 $this->items[] = $value; 26 } else { 27 $this->items[$offset] = $value; 28 } 29 } 30} 31 32$collection = new CustomDataCollection(); 33$collection['my_key'] = 'example_value'; 34unset($collection['my_key']);
引数(parameters)
mixed $offset
- mixed $offset: 要素のキーを指定します
戻り値(return)
戻り値なし
戻り値はありません