広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 61 / 68

配列で集合演算(和集合・積集合・差集合)をしよう

このレッスンでは、PHPで配列を集合として扱う集合演算(和集合・積集合・差集合)を学ぶことを目標にします。「PHP 集合演算 使い方」で調べている方向けの内容です。

PHPには専用のSet型はありませんが、array_unique()array_intersect()array_diff()を使うと、配列を集合のように扱って「和集合」「積集合」「差集合」を計算できます。

サンプルコードでは、array_merge()array_unique()を組み合わせて和集合を、array_intersect()で積集合を、array_diff()で差集合をそれぞれ計算しています。3つの演算それぞれに専用の関数が用意されている点を確認してみましょう。

初心者がよくつまずくのが、演算結果の配列のキーが元のままになる点です。sort()で並び替える際に、キーも振り直されて見やすい表示になる様子も、サンプルコードで確認してみましょう。

「両方のグループに共通するユーザー」を見つけたいときなど、実務のデータ処理でも役立つ考え方です。積集合や差集合の考え方は、データベースのSQLクエリにおける結合操作の理解にもつながります。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
2つのグループの共通点や違いを調べる処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)