【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

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ヤマシタ

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説