PHPでは、配列を使用してさまざまな処理が可能です。
この記事では、
・array_shift関数を使用して、配列の先頭の要素を取り出す方法
・reset関数を使用して、配列の先頭の要素を取り出す方法
という基本的な内容から、
・連想配列の先頭のキーを取り出す方法
・配列の先頭に要素を追加する方法
などの応用的な使い方に関しても解説していきます。
今回はそんな配列の先頭の要素を取り出す方法について、わかりやすく解説します!
先頭の要素を取り出す
ここでは、array_shift関数とreset関数を使用して、配列の先頭の要素を取り出す方法を紹介します。
array_shift関数を使用する
array_shift関数は、配列の先頭からの要素を1つ取り出すときに使用します。引数には、対象の配列名を指定します。
array_shift($配列名)
なお、array_shift関数は、配列から先頭の要素を取り出しますが、指定した配列は先頭の要素が削除されて、全ての要素が前へずれますので、使用する場合は注意が必要です。
array_shift関数を使用して、配列の先頭の要素を取り出す処理を以下に記述します。
<?php $fruits = ['apple', 'orange', 'melon', 'banana', 'pineapple']; //array_shiftを使用して配列の先頭の要素を取り出す $value = array_shift($fruits); echo 'value = '.$value; echo '<br>'; foreach($fruits as $value){ echo 'fruits = '.$value; echo '<br>'; } ?>
実行結果 value = apple fruits = orange fruits = melon fruits = banana fruits = pineapple
実行結果のとおり、array_shift関数を使用すれば配列の先頭の要素を取得して、対象の配列からは先頭の要素が削除されたことがわかりますね!
そのため、配列の先頭の要素を削除したい場合にも、array_shift関数を使用すれば可能であることがわかります。
reset関数を使用する
reset関数を使用することでも、配列の先頭からの要素を1つ取り出すことができます。
reset関数は、配列の内部ポインタを先頭位置にセットするときに使用します。引数には、対象の配列名を指定します。
reset($配列名)
reset関数はarray_shiftのように、指定した配列から先頭の要素が削除されませんので、配列の先頭の要素を削除したくない場合は、reset関数を使用したほうが良いでしょう。
以下にreset関数を使用して、配列の先頭の要素を取り出す方法を記述します。
$fruits = ['apple', 'orange', 'melon', 'banana', 'pineapple']; //resetを使用して先頭の要素を取得する $value = reset($fruits);
先頭のキーを取り出す
key関数を使用する
連想配列の先頭のキーを取り出すには、前述したarray_shift関数やreset関数のみでは、キーを取り出すことはできません。
方法としては、reset関数で配列の先頭のポインタを取得後に、key関数を使用して配列からキーを取り出す必要があります。
key関数は引数に対象の配列名を指定します。
key($配列名)
reset関数とkey関数を使用して、連想配列の先頭の要素のキーを取得する方法を以下に記述します。
<?php $fruits = [0=>'apple', 1=>'orange', 2=>'melon', 3=>'banana', 4=>'pineapple']; //resetを使用して先頭の要素を取得する reset($fruits); //keyを使用して先頭のキーを取り出す $first_key = key($fruits); echo 'first_key = '.$first_key; ?>
実行結果 first_key = 0
foreachで先頭のキーを取り出す
連想配列の先頭のキーを取り出すだけなら、foreach文を使用することでも簡単に取り出すことはできます。
以下にforeach文を使用して、先頭のキーを取得する方法を記述します。
<?php $fruits = [0=>'apple', 1=>'orange', 2=>'melon', 3=>'banana', 4=>'pineapple']; foreach($fruits as $key => $value){ //先頭のキーを取得したらbreakでループを抜ける $first_key = $key; break; } echo '$first_key = '.$first_key; ?>
実行結果 first_key = 0
サンプルではforeach文で先頭の要素のキーを$first_keyで取得し、breakで処理を抜けています。
配列の先頭に要素を追加する
array_unshift関数を使用する
配列の先頭に要素を追加するためには、array_unshift関数を使用します。
array_unshift関数については、以下の記事で詳しく解説しています!
配列についてもっと詳しく知りたい方へ
配列のさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!
まとめ
ここでは配列の先頭の要素を取得する、さまざまな方法について解説しました。
配列を扱った処理は、実際の開発でもよく使用しますので、この機会にぜひ覚えておきましょう。
もし、配列の先頭の要素を取得する処理を忘れてしまったら、この記事を思い出してくださいね!