(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — 配列から重複した値を削除する
array を入力とし、値に重複のない新規配列を返します。
キーは保持されることに注意してください。
指定された flags において、
複数の要素が等しかった場合、はじめの要素のキーと値が保持されます。
注意:
(string) $elem1 === (string) $elem2の場合のみ二つの要素は等しいとみなされます。 つまり、文字列表現が同じである場合は、最初の要素を使用します。
array入力の配列。
flags
オプションの 2 番目のパラメータ flags
にこれらの値を使用して、比較の挙動を変更します。
比較形式のフラグは次のとおりです。
SORT_REGULAR - 通常の比較
(型変換をしない) を行います
SORT_NUMERIC - 数値として比較します
SORT_STRING - 文字列として比較します
SORT_LOCALE_STRING -
現在のロケールにもとづいて文字列として比較します。
処理済の配列を返します。
| バージョン | 説明 |
|---|---|
| 7.2.0 |
flags が SORT_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() は、 多次元配列での使用を想定したものではないことに注意しましょう。