array_unique

関数の概要

PHPの array_unique 関数は、配列の中から重複している値を取り除き、ユニークな要素のみを含む新しい配列を返します。これは配列内の重複データの整理や集計の前処理などに便利です。

パラメータの説明

  • array (必須):重複を削除したい配列を指定します。
  • sort_flags (省略可能):比較方法を指定するフラグです。デフォルトはSORT_STRINGですが、数値として比較したい場合などに変更します。

戻り値

重複した値を削除した新しい配列を返します。元のキーは保持されますが、重複した要素は除かれます。

使用例

基本的な使い方

<?php
$array = [1, 2, 2, 3, 4, 4, 5];
$result = array_unique($array);
print_r($result);
?>

この例では、2や4の重複が削除され、[1, 2, 3, 4, 5] のユニークな値だけが残ります。キーは元の配列のままです。

文字列の重複削除

<?php
$fruits = ["リンゴ", "バナナ", "リンゴ", "オレンジ", "バナナ"];
$uniqueFruits = array_unique($fruits);
print_r($uniqueFruits);
?>

文字列の配列でも正常に重複を削除します。結果は [“リンゴ”, “バナナ”, “オレンジ”] となります。

キー付き配列での使い方

<?php
$assocArray = [
  "a" => "青",
  "b" => "赤",
  "c" => "青",
  "d" => "緑",
];
$uniqueAssoc = array_unique($assocArray);
print_r($uniqueAssoc);
?>

連想配列の場合も値の重複は削除され、最初に出現したキーが保持されます。この場合、キー “a” は残り、重複した “c” は削除されます。

関連する関数

  • array_filter:条件に合った要素だけを抽出
  • array_diff:配列の差分を取得
  • array_intersect:配列の共通要素を取得
  • array_values:配列のキーを連番に振り直す

まとめ

array_unique は配列の値の重複を手軽に取り除ける便利な関数です。キーを保持したままユニークな要素のみを抽出できるため、配列操作やデータ整形の場面で役立ちます。使い方もシンプルで初心者にもわかりやすいので、ぜひ活用してみてください。