array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique配列から重複した値を削除する

説明

array_unique(array$array, int$flags = SORT_STRING): array

array を入力とし、値に重複のない新規配列を返します。

キーは保持されることに注意してください。 指定された flags において、 複数の要素が等しかった場合、はじめの要素のキーと値が保持されます。

注意: (string) $elem1 === (string) $elem2 の場合のみ二つの要素は等しいとみなされます。 つまり、文字列表現が同じである場合は、最初の要素を使用します。

パラメータ

array

入力の配列。

flags

オプションの 2 番目のパラメータ flags にこれらの値を使用して、比較の挙動を変更します。

比較形式のフラグは次のとおりです。

戻り値

処理済の配列を返します。

変更履歴

バージョン説明
7.2.0flagsSORT_STRING の場合、 新しい配列が生成され、ユニークな要素が追加されるようになりました。 これによって、異なった数値のインデックスが振られる可能性があります。 これより前のバージョンでは、 array がコピーされ、 (配列を後にパックせずに) ユニークでない値が削除されていました。

例1 array_unique() の例

<?php
$input
= array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

上の例の出力は以下となります。

Array ( [a] => green [0] => red [1] => blue )

例2 array_unique() と型

<?php
$input
= array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

上の例の出力は以下となります。

array(2) { [0] => int(4) [2] => string(1) "3" }

注意

注意: array_unique() は、 多次元配列での使用を想定したものではないことに注意しましょう。

参考

To Top