検証

サメ
neko→ネコ
yagi→ヤギ
kani→カニ
same→サメ

サンプル配列


	$animals = array(
			'neko'=>'ネコ',
			'yagi'=>'ヤギ',
			'kani'=>'カニ',
			'same'=>'サメ',
	);

検証1

endで末尾要素を取得したあと、currentで現在要素を取得すると末尾の要素が取得される。
内部ポインタが末尾に移動しているためである。

	$last = end($animals);
	$v = current($animals);
	echo $v; // → サメ

検証2

内部ポインタを末尾に移動してもeachには影響なし

	$last = end($animals);
	echo $last; // → サメ
	
	foreach($animals as $key => $val){
		echo $key . '→' . $val . '<br>';
	}
	neko→ネコ
	yagi→ヤギ
	kani→カニ
	same→サメ

検証3

resetを実行すると内部ポインタは先頭に戻る。

	$last = end($animals);
	reset($animals);
	$v = current($animals);
	echo $v; // → ネコ

検証4

内部ポイントを末尾に移動させたあと、nextを実行すると空が出力される。

	$last = end($animals);
	echo next($animals); // → 空値
	$v = current($animals);
	echo $v; // → 空値

検証5

内部ポインタを1つ上にずらしてみる。

	$last = end($animals);
	echo prev($animals); // → カニ
	$v = current($animals);
	echo $v; // → カニ

検証6

内部ポインタが先頭に状態でprevを実行すると空が出力される

	echo prev($animals); // → 空値
	$v = current($animals);
	echo $v; // → 空値