PHPの配列(Array)から要素を削除する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPの配列(Array)から要素を削除する方法について解説しています。配列の先頭の要素を削除するにはarray_shift関数、配列の一番後ろの要素を削除するにはarray_pop関数を使います。また、配列の特定の値の要素を削除するにはarray_splice関数とarray_search関数を使います。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPの配列(Array)から要素を削除する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPの配列(Array)から要素を削除する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

先頭の要素を削除する

PHPで配列の先頭の要素を削除するには、array_shift関数を使用します。

array_shift関数は引数に先頭の要素を削除したい配列を渡すことで、先頭の要素を削除した配列を返す関数です。削除された配列の数値キーは自動で振り直されます。

それでは、実際にarray_shift関数を使用して配列の先頭の要素を削除する例を見てみましょう。

<?php
// 配列を定義
$array = array('apple', 'lemon', 'banana');
print_r($array);
 
// 配列の先頭の要素を削除
array_shift($array);
print_r($array);

 

実行結果

Array
(
[0] => apple
[1] => lemon
[2] => banana
)
Array
(
[0] => lemon
[1] => banana
)

上記の例で、array_shift関数に渡した配列の先頭の要素が削除され、数値キーが振り直されているのが確認できます。
 

一番後ろの要素を削除する

PHPで配列の一番後ろの要素を削除するには、array_pop関数を使用します。

array_pop関数は、引数に一番後ろの要素を削除したい配列を渡すことで、一番後ろの要素を削除した配列を返す関数です。array_pop関数を使用して、要素の削除を行った配列は、要素一つ分短くなって返されます。

それでは、実際にarray_pop関数を使用して配列の一番後ろの要素を削除する例を見てみましょう。

<?php
// 配列を定義
$array = array('apple', 'lemon', 'banana');
print_r($array);
 
// 配列の一番後ろの要素を削除
array_pop($array);
print_r($array);

 

実行結果

Array
(
[0] => apple
[1] => lemon
[2] => banana
)
Array
(
[0] => apple
[1] => lemon
)

上記の例で、array_pop関数に渡した配列の一番後ろの要素が削除され、要素一つ分短くなった配列が返されていることが確認できます。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

任意の文字列を削除する

配列から任意の文字列の要素を削除するには、array_search関数で任意の文字列の要素を検索した後、array_splice関数で削除する方法があります。

array_search関数は第一引数に渡した文字列が第二引数に渡した配列の中に含まれるか検索し、含まれていた場合は、その要素のインデックスを返します。

返されたインデックスをarray_splice関数に渡すことで、任意の文字列の要素を削除できます。

それでは、実際に例を見ていきましょう。

<?php
// 配列を定義
$array = array('apple', 'lemon', 'banana');
 
// 任意の文字列が配列に含まれるか検索
$index = array_search('lemon', $array);
print_r($index);

// インデックスを指定して要素を削除
array_splice($array, $index);
print_r($array);

 

実行結果

1
Array
(
[0] => apple
[1] => banana
)

上記の例では、任意の文字列’lemon’を配列$arrayの中から検索して、そのインデックスを取得しています。

その後、array_splice関数に削除対象の配列$arrayと取得したインデックスが含まれる変数$indexを渡すことで、文字列’lemon’が含まれる要素が削除されました。また、array_splice関数を使用することで、抜けた要素の部分を自動で詰めた状態になります。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。