カテゴリ: PHP 更新日: 2026/06/08

PHPで配列の最初の要素を取り出す!array_shift()の活用例

PHPで配列の最初の要素を取り出す!array_shift()の活用例
PHPで配列の最初の要素を取り出す!array_shift()の活用例

先生と生徒の会話形式で理解しよう

生徒

「PHPで配列の最初に入っている値だけを取り出すことはできますか?」

先生

「PHPでは、array_shift()を使うと、配列の最初の要素を取り出すことができます。」

生徒

「最初の要素を取り出すと、配列はどうなるんですか?」

先生

「取り出した要素は配列から削除され、残りの要素だけが配列に残ります。」

生徒

「先頭から順番に処理したいときに使えそうですね。」

先生

「その通りです。順番待ちのデータや、最初の値を取り出したい処理で便利です。基本から見ていきましょう。」

1. PHPの配列とは?

1. PHPの配列とは?
1. PHPの配列とは?

PHPの配列とは、複数のデータを1つの変数にまとめて保存できる仕組みです。通常の変数は1つの値を入れる箱のようなものですが、配列は複数の箱が並んだ棚のようなものです。たとえば、商品名、名前一覧、点数一覧、カテゴリ一覧、注文内容など、たくさんの値をまとめて扱いたいときに配列を使います。

PHP初心者の方は、配列を買い物かごのようなものだと考えるとわかりやすいです。買い物かごには、りんご、みかん、ぶどうのように複数の商品を入れられます。PHPの配列にも、同じように複数の値を順番に入れることができます。

PHPの数値配列では、配列の中に入っている値に番号が付きます。この番号を添字と呼びます。添字とは、配列の何番目に入っているかを表す番号です。PHPでは最初の要素の番号は1ではなく0から始まります。つまり、最初の要素は0番目、次の要素は1番目、さらに次は2番目になります。

配列の基本を理解すると、array_shift()のような配列操作の関数も理解しやすくなります。PHPの配列操作は、Webアプリケーション開発、フォーム処理、一覧表示、データ管理などでよく使われる重要な知識です。

2. array_shift()とは?

2. array_shift()とは?
2. array_shift()とは?

array_shift()は、PHPで配列の最初の要素を取り出すための関数です。関数とは、決まった処理を簡単に使えるようにした便利な道具のことです。array_shift()を使うと、配列の先頭にある値を取り出し、その値は配列から削除されます。

たとえば、順番待ちの行列を考えてみましょう。お店の前に並んでいる人がいて、先頭の人から順番に案内されます。先頭の人が案内されると、その人は行列から抜けて、次の人が先頭になります。PHPのarray_shift()もこれと同じように、配列の先頭を取り出して、残りの要素を前に詰めます。

PHPで配列の最初の値を確認するだけなら、$array[0]を使う方法もあります。しかし、array_shift()は取り出すだけでなく、配列から削除する点が特徴です。そのため、先頭から順番に処理していきたい場合に便利です。


$fruits = ["りんご", "みかん", "ぶどう"];

$first = array_shift($fruits);

echo $first;

りんご

この例では、配列の最初にあるりんごが取り出されます。取り出された値は変数$firstに入り、配列$fruitsからは削除されます。

3. array_shift()を使った後の配列の中身

3. array_shift()を使った後の配列の中身
3. array_shift()を使った後の配列の中身

array_shift()で最初の要素を取り出すと、配列の中身が変わります。ここが初心者の方にとって大切なポイントです。配列の先頭を取り出すだけではなく、元の配列からその要素がなくなるため、処理の前後で配列の状態が変化します。

たとえば、配列に3つの果物が入っている場合、array_shift()を1回使うと、最初の果物が取り出され、残りの2つだけが配列に残ります。このように、配列を順番に消費していくような使い方ができます。


$fruits = ["りんご", "みかん", "ぶどう"];

$first = array_shift($fruits);

print_r($fruits);

Array
(
    [0] => みかん
    [1] => ぶどう
)

この結果を見ると、最初にあったりんごが配列からなくなり、みかんぶどうだけが残っていることがわかります。また、数値配列では添字が振り直されます。もともと1番目だったみかんが、新しく0番目になります。

PHPで配列の中身を確認したいときは、print_r()を使うと便利です。print_r()は、配列の中身を見やすく表示するための関数です。学習中やエラー確認のときに役立ちます。

4. array_shift()と$array[0]の違い

4. array_shift()と$array[0]の違い
4. array_shift()と$array[0]の違い

PHPで配列の最初の要素を扱う方法として、array_shift()$array[0]があります。どちらも先頭の値に関係しますが、意味が違います。$array[0]は配列の最初の要素を参照するだけです。参照とは、中身を見るという意味です。配列から削除はされません。

一方で、array_shift()は最初の要素を取り出し、元の配列から削除します。つまり、先頭の値を見たいだけなら$array[0]、先頭の値を取り出して配列からなくしたいならarray_shift()を使います。

書き方 役割 配列の中身
$array[0] 最初の要素を見る 変わらない
array_shift($array) 最初の要素を取り出す 先頭の要素が削除される

$numbers = [10, 20, 30];

echo $numbers[0] . "\n";

print_r($numbers);

10
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)

この例では、$numbers[0]で最初の値を表示していますが、配列の中身は変わっていません。PHP初心者の方は、先頭の値を確認したいのか、先頭の値を取り除きたいのかを考えて使い分けましょう。

5. 順番待ちの処理でarray_shift()を使う

5. 順番待ちの処理でarray_shift()を使う
5. 順番待ちの処理でarray_shift()を使う

array_shift()は、順番待ちのような処理に向いています。先に入ったものから順番に取り出す処理は、プログラミングでよく登場します。たとえば、受付番号の順番、作業リストの順番、タスク管理、メール送信の順番、注文処理の順番などです。

先頭から1つずつ取り出して処理したい場合、array_shift()を使うと自然な流れで書けます。配列の最初の値を取り出し、処理が終わると次の値が先頭になります。これを繰り返すことで、配列の内容を前から順番に処理できます。


$tasks = ["メール確認", "資料作成", "会議準備"];

$task = array_shift($tasks);

echo "最初に行う作業は" . $task . "です";

最初に行う作業はメール確認です

この例では、作業一覧の配列から最初の作業を取り出しています。メール確認が先頭にあるため、最初に行う作業として表示されます。PHPで作業リストや処理順を管理する場合、array_shift()はわかりやすく使える関数です。

6. while文とarray_shift()を組み合わせる

6. while文とarray_shift()を組み合わせる
6. while文とarray_shift()を組み合わせる

array_shift()は、while文と組み合わせることで、配列の先頭から順番に取り出す処理を作れます。while文とは、条件が成り立っている間、同じ処理を繰り返す制御構造です。制御構造とは、プログラムの流れを決める仕組みです。

配列に値がある間だけ、先頭から1つずつ取り出して表示するような処理は、初心者の学習にも実用にも向いています。配列が空になるまで繰り返すため、順番に処理したいデータに使えます。


$names = ["田中", "佐藤", "鈴木"];

while (!empty($names)) {
    $name = array_shift($names);
    echo $name . "さんを案内しました\n";
}

田中さんを案内しました
佐藤さんを案内しました
鈴木さんを案内しました

empty()は、配列や変数が空かどうかを確認する関数です。!empty($names)は、配列が空ではない間という意味です。配列に値が残っている間は、array_shift()で先頭の名前を取り出して表示します。

このように、PHPの配列操作、while文、array_shift関数を組み合わせると、順番待ちの処理やリスト処理を作りやすくなります。

7. 空の配列でarray_shift()を使う場合

7. 空の配列でarray_shift()を使う場合
7. 空の配列でarray_shift()を使う場合

array_shift()を使うときは、配列が空の場合も意識する必要があります。空の配列とは、要素が1つも入っていない配列のことです。空の配列に対してarray_shift()を使うと、取り出す要素がないためnullが返ります。

nullとは、値が存在しないことを表す特別な値です。初心者の方は、空っぽを表すものだと考えるとわかりやすいです。配列に値があると思って処理を書いていると、空だったときに思った通りに表示されないことがあります。そのため、事前にempty()で確認すると安心です。


$items = [];

if (empty($items)) {
    echo "配列に要素がありません";
} else {
    $item = array_shift($items);
    echo $item;
}

配列に要素がありません

この例では、配列が空かどうかを先に確認しています。配列に要素がない場合は、array_shift()を使わずにメッセージを表示しています。PHPで安全に配列操作をするためには、配列の中身があるか確認する習慣が大切です。

8. array_shift()とarray_pop()の違い

8. array_shift()とarray_pop()の違い
8. array_shift()とarray_pop()の違い

PHPの配列操作には、array_shift()と似た関数としてarray_pop()があります。array_shift()は配列の最初の要素を取り出します。一方で、array_pop()は配列の最後の要素を取り出します。

たとえば、行列の先頭から案内するような処理にはarray_shift()が向いています。反対に、積み上げた書類を上から取るように、最後に入れたものから取り出したい場合はarray_pop()が向いています。

関数 取り出す位置 イメージ
array_shift() 最初の要素 行列の先頭から取り出す
array_pop() 最後の要素 最後に入れたものから取り出す

$colors = ["赤", "青", "緑"];

$first = array_shift($colors);
$last = array_pop($colors);

echo "最初は" . $first . "\n";
echo "最後は" . $last;

最初は赤
最後は緑

この例では、最初にを取り出し、最後にを取り出しています。配列のどちら側から取り出したいのかによって、使う関数を選びましょう。PHPの配列操作では、このような関数の違いを理解しておくと、目的に合った処理を書きやすくなります。

9. PHP開発でarray_shift()が役立つ場面

9. PHP開発でarray_shift()が役立つ場面
9. PHP開発でarray_shift()が役立つ場面

array_shift()は、PHPの実際の開発でもさまざまな場面で役立ちます。たとえば、配列に入っているデータを先頭から順番に処理したい場合、最初の値だけを特別に扱いたい場合、順番待ちのリストを管理したい場合などです。

Webアプリケーションでは、フォームから送られた複数の値を順番に処理する、商品一覧の先頭の商品を取り出す、作業リストの最初のタスクを表示する、読み込んだデータを前から順に処理するなどの場面があります。PHPの配列は、多くのデータをまとめて扱うため、先頭の要素を取り出す処理を覚えておくと便利です。

初心者の方は、まず配列を作る、array_shift()で最初の要素を取り出す、取り出した後の配列をprint_r()で確認する、という流れで練習すると理解しやすくなります。特に、array_shift()は元の配列を変更する関数なので、処理後の配列がどう変わるのかを確認することが大切です。

PHPで配列操作を学ぶと、一覧表示、データ処理、フォーム処理、検索結果の加工、管理画面の作成など、さまざまな機能を作る力につながります。array_shift()は、配列の最初の要素を取り出して削除する基本的な関数です。先頭から順番に処理したいとき、最初の値だけを使いたいとき、配列の流れを管理したいときに活用できます。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルーティングでサブドメインを使う方法!初心者向けにやさしく解説
New2
Laravel
Laravelでマルチ言語ルートを設定する方法!ロケールごとのprefixで簡単管理
New4
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
人気記事
No.1
Java&Spring記事人気No1
Symfony
SymfonyのRemember Me機能を完全解説!初心者でもわかるログイン保持の仕組み
No.2
Java&Spring記事人気No2
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
No.3
Java&Spring記事人気No3
Laravel
LaravelのFeatureテストとUnitテストの違いを理解しよう
No.4
Java&Spring記事人気No4
Laravel
Laravelでルートに中間処理を追加する方法!ミドルウェア活用ガイド
No.5
Java&Spring記事人気No5
CodeIgniter
CodeIgniterで多言語対応(Language)を徹底解説!言語切り替え機能を実装
No.6
Java&Spring記事人気No6
Laravel
Laravelでドメインルートを使う方法!マルチドメイン対応を初心者向けに解説
No.7
Java&Spring記事人気No7
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.8
Java&Spring記事人気No8
Laravel
Laravelのルーティングでサブドメインを使う方法!初心者向けにやさしく解説