配列の要素の数だけ処理を繰り返したい場合は通常 for 構文や foreach 構文を使うと思いますが、WordPress のソースコードを見ていて珍しい記述がありましたので紹介します。
do-while 構文と配列のポインタ操作系の関数の組み合わせです。
1 2 3 4 5 6 |
<?php $arr = array('hello', 'bye', 'thanks', 'good night', 'good morning'); do{ echo current($arr) . '<br />'; }while(next($arr) !== false); |
current 関数は現在の配列ポインタの指している要素の値を返し、next 関数は配列ポインタを1つ次へ進めたあとにその要素の値を返す関数です。next 関数は存在しない配列の要素を指すと false を返しますので、false が返されたら走査を終えます。