関数の概要
PHPの reset 関数は、配列の内部ポインタを先頭の要素に戻すための関数です。配列の要素を順番に処理するとき、内部ポインタは進んでいきますが、再び先頭から処理を始めたいときにこの関数を使います。
パラメータの説明
array(必須): 内部ポインタをリセットしたい配列を指定します。この配列は変数であり、配列でなければなりません。
戻り値
reset 関数は、配列の先頭要素の値を返します。配列が空の場合は false を返します。
使用例
基本的な使い方
<?php
$array = ['りんご', 'みかん', 'バナナ'];
echo current($array); // りんご
// 内部ポインタを進める
next($array);
echo current($array); // みかん
// resetで先頭に戻す
reset($array);
echo current($array); // りんご
?>
この例では、まず current で現在の要素を取得し、 next でポインタを進めます。reset で先頭に戻して再び先頭要素を取得しています。
連想配列での利用例
<?php
$user = [
'name' => '山田太郎',
'age' => 30,
'email' => 'taro@example.com'
];
// ポインタをすすめる
next($user);
echo key($user) . ': ' . current($user) . "n"; // age: 30
// resetで先頭に戻る
reset($user);
echo key($user) . ': ' . current($user) . "n"; // name: 山田太郎
?>
連想配列でも内部ポインタを操作でき、resetで先頭の要素に戻せます。
空配列の場合
<?php
$empty = [];
$result = reset($empty);
var_dump($result); // bool(false)
?>
空の配列に対して reset を使うと false が返ります。これは要素が存在しないためです。
関連する関数
current: 現在の内部ポインタの要素の値を取得next: 内部ポインタを次の要素に進めるprev: 内部ポインタを前の要素に戻すend: 内部ポインタを配列の最後の要素に移動するkey: 現在の内部ポインタの要素のキーを取得
まとめ
reset 関数は、配列の内部ポインタを先頭に戻す非常に便利な関数です。配列を順に処理する際に途中でまた最初から処理したい場合や、何度も配列の先頭要素を取得したい場合などに役立ちます。使い方もシンプルで、戻り値で先頭要素の値が取得できるため、そのまま値を読み取ることも可能です。配列操作を行う際はぜひ活用してください。
