Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

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

戻り値なし

戻り値はありません

関連コンテンツ