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