配列 関数
PHP Manual

array_unique

(PHP 4 >= 4.0.1, PHP 5)

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

説明

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

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

キーは保持されることに注意してください。 array_unique() はまず文字列として値をソートし、 各値の最初のキーを保持し、2回目以降の全てのキーを無視します。 これは、ソート前の array で最初の関連する値のキーが保持されるという意味ではありません。

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

パラメータ

array

入力の配列。

sort_flags

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

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

  • SORT_REGULAR - 通常の比較 (型変換をしない) を行います
  • SORT_NUMERIC - 数値として比較します
  • SORT_STRING - 文字列として比較します
  • SORT_LOCALE_STRING - 現在のロケールにもとづいて文字列として比較します。 PHP 4.4.0 および 5.0.2 で追加されました。 PHP 6 より前のバージョンではシステムのロケールを使用します。これは setlocale() で変更可能です。PHP 6 以降では i18n_loc_set_default() 関数を使用する必要があります。

返り値

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

変更履歴

バージョン 説明
5.2.9 オプションの sort_flags が追加され、 デフォルトは SORT_REGULAR となりました。5.2.9 より前のバージョンでは、 この関数は内部的に SORT_STRING によるソートを行っていました。
5.2.10 sort_flags のデフォルト値を 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"43"3");
$result array_unique($input);
var_dump($result);
?>

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

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

注意

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


配列 関数
PHP Manual