PHP array_unique() 関数

配列から重複の値を削除する:

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

実行例

定義と用法

array_unique() 関数は配列から重複の値を削除し、結果配列を返します。

数個の配列要素の値が同じ場合、最初の要素のみを保持し、他の要素は削除されます。

返される配列のキー名は変更されません。

注釈:保持される配列は最初の配列項目のキー名のタイプを保持します。

構文

array_unique(array)
パラメータ 説明
array 必須。配列を指定します。
sortingtype

オプション。配列要素/項目の比較方法を指定します。可能な値:

  • SORT_STRING - デフォルト。項目を文字列として比較します。
  • SORT_REGULAR - 各項目を標準的な ASCII で並べ替えます(タイプを変更しません)。
  • SORT_NUMERIC - 各項目を数字として処理します。
  • SORT_LOCALE_STRING - 各項目を文字列として処理し、現在のロケール設定に基づいて処理します(setlocale() を使用して変更できます)。

説明

array_unique() はまず値を文字列としてソートし、各値に対して最初に見つかったキー名のみを保持し、その後のキー名を無視します。これは未ソートの配列で同じ値の最初に見つかったキー名が保持されることを意味するものではありません。

技術的詳細

返り値: フィルタリングされた配列を返します。
PHP バージョン: 4.0.1+
更新ログ:

PHP 5.2.10 で、sortingtype のデフォルト値を再度 SORT_STRING に変更しました。

PHP 5.2.9 で、sortingtype のデフォルト値を SORT_REGULAR に変更しました。その前のバージョンでは sortingtype のデフォルト値は SORT_STRING でした。