PHP で配列から重複した値を削除する
Minahil Noor
2021年1月1日
この記事では、PHP で配列から重複した値を削除する方法を紹介します。
PHP で配列から重複した値を削除するには array_unique()
関数を使用する
配列から重複した値を削除するには、array_unique()
関数を利用します。関数 array_unique()
は、配列から重複した値を削除するための特殊な関数です。この関数を利用するための正しい構文は以下の通りです。
array_unique($array, $flags);
関数 array_unique()
は 2つのパラメータを持ちます。パラメータの詳細は以下の通りです。
パラメータの詳細は以下の通りです。 | 説明 |
---|---|
$array |
重複した値を削除する配列です。 |
$flags |
配列のソートパターンを指定します。ソートフラグには 5つのタイプがあります。SORT_REGULAR は普通に項目を比較しますSORT_NUMERIC は数値的に項目を比較しますSORT_STRING は文字列として項目を比較しますSORT_LOCALE_STRING は現在のロケールに基づいた文字列として項目を比較します。 |
この関数は、重複した値のない配列を返します。以下のプログラムは、array_unique()
関数を用いて PHP の配列から重複した値を削除する方法を示しています。
<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array);
echo("Array after removal: \n");
var_dump($array);
?>
出力:
Array before removal:
array(11) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
[6]=>
string(8) "Daffodil"
[7]=>
string(5) "Daisy"
[8]=>
string(4) "Lili"
[9]=>
string(7) "Jasmine"
[10]=>
string(7) "Jasmine"
}
Array after removal:
array(6) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
}
この関数はフィルタリングされた配列を返しました。
パラメータ $flags
を渡すと、出力が変更されます。
<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array, SORT_NUMERIC);
echo("Array after removal: \n");
var_dump($array);
?>
出力:
Array before removal:
array(11) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
[6]=>
string(8) "Daffodil"
[7]=>
string(5) "Daisy"
[8]=>
string(4) "Lili"
[9]=>
string(7) "Jasmine"
[10]=>
string(7) "Jasmine"
}
Array after removal:
array(1) {
[0]=>
string(4) "Rose"
}
この関数は配列を数値的にソートしました。