
卒業生インタビュー
2021.03.03
【卒業生の声:森さん】文系の僕がプログラミングの道へ進むことは、不安も迷いもあった。今は、あの時思い切って良かったと心から思います
受講スクール プログラマカレッジ 受講期間 昼間コース(3ヶ月間) 料金 無料 就職先 株式会社イーゼ プログラマカレッジ卒業生の森さんにお話しをお伺いしました! 目次 開発学という観点からSDGsについて学んだ院生活。 […]
PHP
2019.04.04
PHP の配列は、既存の値を内容とする要素でも問題なく追加できますが、array_unique 関数で重複している値を取り除くことができます。
今回は array_unique 関数の使用方法を紹介します。
PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック
PHP【 配列 】array_map で一括処理
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
PHP【 配列 】array_column で同一キーの値を取得
PHP【 配列 】foreach でループ処理
PHP【 配列 】array_unique で重複した値を削除(本ページ)
PHP【 配列 】便利な関数
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方
最終更新日:2019年4月4日
1.array_unique 関数
2.array_unique のサンプル
3.array_values でインデックス調整
array_unique 関数は、配列内で重複した値を取り除く関数です。
実行すると、値の重複がない配列が返ります。
array_unique 関数は 次のように記述して使用します。
array_unique ( $array [, ソートオプション ] ) ;
第 1 引数には、対象となる配列を指定します。
第 2 引数で、戻り値となる配列要素の並び順を次のように指定することができます。
・SORT_REGULAR:型変換をしない通常のソート(初期値)
・SORT_NUMERIC:数値としてソート
・SORT_STRING:文字列としてソート
・SORT_LOCALE_STRING:その時点の設定通りの文字列としてソート
array_unique 関数を使用して 配列内で重複する値を削除します。
下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)
<pre> <?php $ary = array("青山", "井川", "植木", "井川", "江口"); print_r(array_unique($ary)); ?> </pre>
重複していた「 井川 」が削除され、重複データのない配列になりました。
要素が削除された後も、インデックス番号は当初のまま変わりません。
欠番が出ないようにインデックス番号を新しく割り当てる方法については3.array_values でインデックス調整をご参照下さい。
また、print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。
連想配列についても同様です。
<pre> <?php $ary = array("国語"=>"青山", "算数"=>"井川", "理科"=>"植木", "社会"=>"井川", "英語"=>"江口"); print_r(array_unique($ary)); ?> </pre>
連想配列で array_unique 関数を使用する機会はあまりないかも知れませんが、値が重複していれば キーの内容とは無関係に要素が削除されてしまうので、注意が必要です。
先ほどのサンプルのように、インデックス番号で要素を特定する通常の配列に array_unique 関数を使用して重複する値を削除すると、削除した要素のインデックス番号は欠けたままとなってしまいます。
インデックス番号に欠番があると不具合の原因になることもあるため、インデックス番号を新たに割り当てておいた方が安心です。
次のように array_values 関数をすると、新しいインデックス番号を割り当てることができます。
<pre> <?php $ary = array("青山", "井川", "植木", "井川", "江口"); print_r(array_values(array_unique($ary))); ?> </pre>
「 print_r(array_values(array_unique($ary))); 」として、array_unique 関数を array_values 関数で囲む書き方をしていますが、次の記述を 1 行にまとめた書き方です。
$ary2 = array_unique($ary); $ary3 = array_values($ary2); print_r($ary3);
卒業生インタビュー
2021.03.03
受講スクール プログラマカレッジ 受講期間 昼間コース(3ヶ月間) 料金 無料 就職先 株式会社イーゼ プログラマカレッジ卒業生の森さんにお話しをお伺いしました! 目次 開発学という観点からSDGsについて学んだ院生活。 […]
スキルアップ
2021.03.03
プログラミング学習は「挫折しやすい」というイメージがありますよね。実際に学習を始めてみて、挫折しそうだと感じている方もいらっしゃるでしょう。本記事では、プログラミング学習で挫折する4つの原因を解説。さらに、プログラミング […]
スキルアップ
2021.03.02
未経験からプログラマーを目指しているものの「自分はプログラミングに向いているのかわからない」という不安から、プログラミング学習に踏み切れない人も多いでしょう。そこで本記事では、プログラミングに向いている人や向いていない人 […]
スキルアップ
2021.02.25
プログラミング初心者で、最速で技術を身につけたいと考えている人の悩みを解決します。 後述しますが、「1000時間ルール」という法則がありプログラミング初心者の方はまず1000時間の学習を目標にしましょう。今回は、プログラ […]
スキルアップ
2021.02.22
「プログラミングスクールが多すぎて選び方の基準がわからない」「スクール選びに失敗してお金も時間も無駄にすることだけはしたくない」そんな初心者の方に向けて、この記事では自分に合ったプログラミングスクールの選び方を解説します […]
プログラマハック
2021.02.19
フリーターからプログラマーになろうとしている方の中には「未経験者でも正社員として採用してもらえるか?」「自分は職歴なしのフリーターだけど、本当にプログラマーになれるのだろうか?」と不安を感じている方も多いはず。そこで今回 […]
INTERNOUS,inc. All rights reserved.