いくつかの(以前よりも優れた)段階的な例:
まず最初に、5 つの数字が必要なため、ループを実行します。これは、0 から 4 までのカウンターとして記述できます。
for ($i = 0; $i < 5; $i++) { ...
次に、開始値を指定します。これを変数に入れてカウンター変数と一緒に増やすと、1 から 5 まで数えることができます。
for ($i = 0, $j = 1; $i < 5; $i++, $j++) { ...
^^^^^^ ^^^^
$i
これがカウンターで、$j
探している値が含まれています。
この例が示すように、実行するステップ数を決定するロジックは、ループ変数の増加から分離されています。
$j
ここで、5 を超えるかどうかのチェックを追加する必要があります。5 を超える場合は、1 にリセットする必要があります。しかし、それを行う良い方法は、モジュロ演算子を使用することです。つまり、 を増やす前に$j
、それ自体を 5 で割った余りに設定されます。これがモジュロ演算、%
PHPの演算子です。
for ($i = 0, $j = 3; $i < 5; $i++, $j %= 5, $j++) { ...
^^^^^^^
これfor
で、値を作成するループができました。
3
この例では、 をランダムな開始番号に置き換えることができます。0 より大きく 6 より小さいことに注意してください。そうしないと、少なくとも最初の反復で間違った数値が返されます。
ご想像のとおり、これを行う方法は複数あるため、これは 1 つの例にすぎません。