【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として約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

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

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