【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関数を使用した、配列の末尾を削除する処理を記述します。

まとめ

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

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

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


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

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


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

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

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


LINEで送る
Pocket

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

最新情報をお届けします

書いた人

ヤマシタ

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