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

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

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

まとめ

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

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

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

プログラミング学習を効率良く進めたいなら…

学習を始めたけどエラーが解決できない
作りたいものはあるけど、何から始めればいいかわからない
プログラミングに対して、このような悩みを持っている方も多いですよね。

そんな方には、弊社が運営するサブスク型のプログラミングスクール「SAMURAI ENGINEER Plus+がおすすめです。



月額2980円(税別)で、主に4つのサービスを提供させていただきます。

  • 現役エンジニアによる月1度の「マンツーマン指導」
  • 平均回答時間30分の「Q&Aサービス」
  • 作りながら学べる28種類の「教材」
  • 学習を記録&仲間と共有できる「学習ログ」

目的にあった教材を選べば、どなたでも効率よく学習できるほか、Q&Aサービスやマンツーマン指導を活用することで、挫折せずにプログラミングの習得が可能です。

プログラミングを効率的に学びたい人はもちろん、何から始めたらよいのかわからない方は、ぜひ「SAMURAI ENGINEER Plus+」をご利用ください。
まずは30日無料体験

書いた人

侍テック編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら