【PHP入門】配列の先頭の要素を取得する方法

こんにちは!フリーエンジニアのヤマシタです。

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関数については、以下の記事で詳しく解説しています!

配列についてもっと詳しく知りたい方へ

配列のさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここでは配列の先頭の要素を取得する、さまざまな方法について解説しました。

配列を扱った処理は、実際の開発でもよく使用しますので、この機会にぜひ覚えておきましょう。

もし、配列の先頭の要素を取得する処理を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。