【PHP入門】配列の重複した値を削除する(array_unique)

PHPでは配列を使用してさまざまな処理が可能です。

この記事では、

・array_unique関数を使用して重複した値を削除する方法
・連想配列の重複した値を削除する方法

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

・数値と文字列が混在した配列を数値として比較する方法

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

今回はそんなarray_unique関数の使用方法について、わかりやすく解説します!

配列の重複した値を削除する

ここではarray_unique関数を使用して、配列の重複した値を削除する方法を紹介します。

array_uniqueの使い方

配列から重複した値を削除したい場合は、array_unique関数を使用します。

array_unique関数は第一引数に対象の配列を指定し、第二引数にソートのオプションを使用して、ソートの挙動を変更します。

以下にarray_unique関数を使用して、配列の重複した値を削除する処理を記述します。

連想配列の重複した値を削除する

array_unique関数で連想配列の重複した値を削除したいときも、使い方は基本的に1次元配列と同様です。

以下にarray_unique関数を使用して、連想配列の重複した値を削除する方法を記述します。

なお、array_unique関数は多次元配列の使用は想定していませんので注意しましょう。

数値として比較する

array_unique関数は第二引数にソートフラグを指定することで、ソート方法を指定することができます。

SORT_REGULAR:通常(型変換しない)の比較
SORT_NUMERIC:数値に変換して比較
SORT_STRING:文字列に変換して比較
SORT_LOCALE_STRING:現在のロケールにもとづいて文字列として比較

以下にarray_unique関数の第二引数にSORT_NUMERICを指定して、数値と文字列が混在した配列の重複チェック処理の方法を記述します。

サンプルでは配列に文字列で’0100’、’00400’などがありますが、array_unique関数の第二引数で数値比較のフラグSORT_NUMERICを指定することで、それぞれ数値の100、400に変換して比較が行われます。

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

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

まとめ

ここでは、array_unique関数を使用して配列の重複した値を削除する方法や、オプションを指定して削除する方法を解説しました。

array_unique関数は、配列から重複した値のみを削除したい場合に便利な関数ですので、この機会にぜひ覚えておきましょう!

もし、array_unique関数の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説