戻る

配列内をポインタで移動する(参考)

PHP

配列にはインデックスを指定して特定のデータを取り出したり、foreach文で全データを取り出したりできます。一方、配列の「内部ポインタ」を管理すると、配列内でカーソルを移動する感覚でその位置のデータを取り出すことができます。

配列の内部ポインタの移動には、以下の4つの関数を使います。これらの関数を呼び出すと、ポインタを目的の位置に移動させるとともに、その位置の配列データを返り値として取得できます。

関数名機能
reset()関数ポインタを先頭に移動します
netx()関数ポインタを1つ次に進めます
prev()関数ポインタを1つ前に戻します
end()関数ポインタを最後に移動します

reset()関数につづけてprev()関数を実行した場合、あるいはend()関数に続けてnext()関数を実行した場合、該当するデータは存在しないので、各関数はFalseを返します。これを確認することで、配列の端を検出できます。

<?php
header("Content-type: text/html; charset=utf-8");

$team = array("ブラジル","イタリア","アルゼンチン","フランス",
			"イングランド","オランダ","スペイン","ポルトガル");
			
$current = reset($team);
echo "先頭のデータは{$current}<br>";

$current = next($team);
echo "2番目のデータは{$current}<br>";

$current = next($team);
echo "3番目のデータは{$current}<br>";

$current = next($team);
echo "最後のデータは{$current}<br>";

$current = prev($team);
echo "後ろから2番目のデータは{$current}<br><br>";

$current = reset($team);

while($current){
	echo $current . "<br>";
	$current = next($team);
}
?>

inserted by FC2 system