【PHP入門】配列の削除方法まとめ

image
書いた人 ヤマシタ

こんにちは!フリーエンジニアのヤマシタです。

PHPでは、さまざまな方法で不要になった配列を削除することができます。

この記事では、

・array_splice関数で削除する方法
・unset関数で削除する方法

という基本的な内容から、

・unset関数でまとめて削除する方法
・array_diff関数で比較した配列の差分を残して削除する方法
・array_pop関数で配列の末尾の要素を削除する方法

などの応用的な使い方に関しても解説していきます。

今回はそんな配列の削除について、わかりやすく解説します!

array_spliceで削除する

array_splice関数は、指定した要素を削除するときに使用します。

第3引数の削除数は、指定した値のみ要素を残して、後に続く要素をいくつ残すか指定します。単純に第2引数で指定した数値のあとの要素数をいくつ削除するか指定するものではありません。

以下にarray_splice関数を使用した、配列の要素を削除する方法を記述します。

サンプルではarray_spliceを使用して、配列の1番目の要素を指定して、削除を実行しています。

以下のように第3引数を指定すると、3番目から1つ進んだ要素を残して、配列の値が削除されます。

unsetで削除する

unset関数は、指定した要素の値を削除します。

以下にunset関数を使用した、配列の削除方法を記述します。

unsetでまとめて削除する

unset関数を使用すれば、ループで配列全体の値を取得し、特定の条件の要素のみ削除するときに便利です。

以下に配列の要素が’orange’、’melon’の場合は、値を削除する処理を記述します。

サンプルでは、配列の要素分ループで回し、if文で指定した文字列が配列の要素と一致したら、unsetで削除処理を実行しています。

配列の番号を詰める方法

unset関数などで、特定の要素の配列を削除しても要素番号自体が変更されることはありません。

そのため、array_values関数を使用して、削除した配列の要素分番号を詰める必要があります。

array_values関数は、配列の削除処理後に以下のように記述します。

array_diffで差分を残して削除する

array_diff関数は、対象の配列1を他の配列2と比較し、配列1の値で他の配列に存在しない値以外を削除します。

以下にarray_diff関数を使用した、配列の要素を比較して差分のみ残す処理を記述します。

サンプルでは配列fruits1とfruits2を作成し、array_diff関数で配列同士を比較して、一致した値がある場合は、削除を実施しています。

配列fruits1で設定した’banana’、’pineapple’は、fruits2には存在しないので削除されません。

array_popで配列末尾を削除する

array_pop関数は、引数に指定した配列の末尾の要素を削除します。

以下にarray_pop関数を使用した、配列の末尾を削除する処理を記述します。

array関数についてもっと詳しく知りたい方へ

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

まとめ

ここでは配列を削除するさまざまな方法について、解説しました。

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

もし、配列の削除方法を忘れてしまったら、この記事を思い出してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

学習者インタビュー

32歳ベンチャー企業元役員が起業してプログラミングを学んだ話
ヨガスタジオのマネージャーだった私が3ヶ月でWeb制作をマスターするためにした”たった1つ”のこと
Uターン女子がRubyを学んで理想のライフスタイルを手に入れた話
ダメ営業マンがわずか3ヶ月でエンジニアデビューできた理由

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題、最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

ヤマシタ

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