【PHP8.x】offsetSetメソッドの使い方

offsetSetメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

offsetSetメソッドは、RecursiveArrayIteratorオブジェクトが内部で保持している配列に対して、指定したオフセット(キー)に値を設定または変更を実行するメソッドです。このメソッドは、PHPのArrayAccessインターフェースを実装することによって提供される機能の一つです。これにより、RecursiveArrayIteratorのインスタンスを、通常の配列と同じように角括弧[]を用いた構文で操作できます。例えば、$iterator['key'] = 'value';のように記述すると、内部的にこのoffsetSetメソッドが呼び出されます。第一引数には値を設定したいキーを、第二引数には設定する値を指定します。指定したキーが既に配列内に存在する場合は、そのキーに対応する値が新しい値で上書きされます。もしキーが存在しない場合は、新しい要素として配列に追加されます。このメソッドは値を返しません。この機能を使うことで、イテレータが操作している配列の内容を、直感的な配列アクセス構文で動的に変更することが可能になります。

構文(syntax)

1<?php
2
3$array = ['a' => 1, 'b' => 2];
4$iterator = new RecursiveArrayIterator($array);
5
6// キー 'a' の値を 100 に変更します
7$iterator['a'] = 100;
8
9// 新しいキー 'c' に値 300 を設定します
10$iterator['c'] = 300;
11
12// 結果を配列として出力します
13print_r(iterator_to_array($iterator));
14
15?>

引数(parameters)

mixed $offset, mixed $value

  • mixed $offset: 追加または更新する要素のキーを指定します。
  • mixed $value: 指定したキーに設定する値を指定します。

戻り値(return)

void

offsetSetメソッドは、指定されたキーに値を設定します。このメソッドは値を返しません。

【PHP8.x】offsetSetメソッドの使い方 | いっしー@Webエンジニア