【PHP】配列のポインタを操作する関数「current()」「next()」「prev()」「reset()」「end()」
今回は配列のポインタ操作に関するいくつかの関数、「current()」、「next()」、「each()」、「prev()」、「reset()」、「end()」を使えるようになります。トランプゲームのババ抜きのようにプレイヤーのターンプログラムを作るときなどに役に立つ操作なので是非とも覚えておきたいですねφ(・_・”)メモメモ
目次
そもそもポインタってなに?
配列を作った時、その配列には自動的にポインタという“カーソル”のような役割を持つものがセットされます。特別な操作を行わない場合、配列の最初の要素にセットされます。このポインタを操作し、ポインタにセットされている要素を取り出したりすることができるのです。
ポインタがセットされている要素を返す関数「current()」
|
1 2 3 4 5 6 7 8 |
<?php //current(操作する配列); $array = [1,2,3,4,5]; $test = current($array); echo $test; // 1 ?> |
ポインタを一つ進める関数「next()」
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php //next(操作する配列); $array = [1,2,3,4,5]; $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 1 $test = next($array); //ポインタを一つ進めて要素を返す echo $test; // 2 $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 2 next($array); //ポイントを一つ進める $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 3 ?> |
ポインタを一つ戻す関数「prev()」
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php //prev(操作する配列); $array = [1,2,3,4,5]; $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 1 $test = next($array); //ポインタを一つ進めて要素を返す echo $test; // 2 $test = prev($array); //ポインタを一つ戻して要素を返す echo $test; // 1 prev($array); //ポインタを一つ戻す $test = current($array); //現在のポインタがセットされている要素を返す var_dump($test); // bool(false) ?> |
ポインタを先頭に戻す関数「reset()」
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php //reset(操作する配列); $array = [1,2,3,4,5]; $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 1 next($array); //ポインタを一つ進める 2 next($array); //ポインタを一つ進める 3 next($array); //ポインタを一つ進める 4 $test = next($array); //ポインタを一つ進めて要素を返す echo $test; // 5 reset($array); //ポインタを先頭に戻す $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 1 ?> |
ポインタを末尾にセットする関数「end()」
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php //end(操作する配列); $array = [1,2,3,4,5]; $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 1 end($array); //ポインタを末尾にセットする $test = current($array); //現在のポインタがセットされている要素を返す echo $test; // 5 ?> |