【PHP】配列内の重複したデータを削除する関数「array_unique()」
今回は配列内に重複したデータがあった場合、そのデータを削除する関数をメモしますφ(・_・”)メモメモp
使用する関数は「array_unique()」関数です。とっても便利なので是非ものにしましょう!
array_unique の使い方
早速サンプルを書いてみます。
1 2 3 4 5 6 7 8 9 10 11 |
<?php //array_unique(重複を削除したい配列); $array = [10, 20, 20, 30]; $unique = array_unique($array); print_r($unique); //実行結果 Array ( [0] => 10 [1] => 20 [3] => 30 ) ?> |
処理前には「20」が2個ありましたが、「array_unique」に入れた後は一個になっていますね。
このように「array_unique」関数に入れた配列は、2個目以降の重複した要素を削除していきます。上のサンプルコードでは[2]のキーの「20」が削除されていますね。
では重複する要素が複数ある場合はどうなるのか見てましょう。
1 2 3 4 5 6 7 8 9 |
<?php $array = ["赤", "赤", "青", "赤", "緑", "緑"]; $unique = array_unique($array); print_r($unique); //実行結果 Array ( [0] => 赤 [2] => 青 [4] => 緑 ) ?> |
2個目以降の重複要素が全て取り除かれていますね。重複した要素が何個あっても一つのデータになります。
まとめ
- 重複したデータをまとめたい時は「array_unique」関数を使う
- 「array_unique」関数は重複した2個目以降の要素を削除していく