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

# array_unique

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

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

### 説明

array_unique ( array `$array` [, int `$sort_flags` = SORT_STRING ] ) : array

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

キーは保持されることに注意してください。 If multiple elements compare equal under the given `sort_flags`, then the key and value of the first equal element will be retained.

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

### パラメータ

`array`

  入力の配列。

`sort_flags`

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

  ソート形式のフラグは次のとおりです。

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

### 返り値

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

### 変更履歴

バージョン | 説明
--- | ---
5.2.10 | `sort_flags` のデフォルト値を `SORT_STRING` に戻しました。
5.2.9 | オプションの `sort_flags` が追加され、 デフォルトは `SORT_REGULAR` となりました。5.2.9 より前のバージョンでは、 この関数は内部的に `SORT_STRING` によるソートを行っていました。

### 例

例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_count_values() - 配列の値の数を数える

### 注意

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