PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPで配列の全組み合わせをデータベースのテーブルに挿入する方法

PHP配列の値の全組み合わせをテーブルに挿入するには

PHPで複数の配列の値を組み合わせ、そのすべてをテーブルに挿入したい場合は、foreachループ(多重ループ)とINSERT文を組み合わせるのが基本のアプローチです。

例として、次のような3つの配列を用意します。

$name1 = ["John", "Mike"];
$name2 = ["David", "Sam"];
$name3 = ["Bob", "Adam"];

この場合、各配列の要素を掛け合わせた 2 × 2 × 2 = 8通り の組み合わせが生成されます。

実装例

foreachループを入れ子にして、すべての組み合わせに対するINSERT文を生成します。

<!DOCTYPE html>
<html>
<body>
<?php
$name1 = ["John", "Mike"];
$name2 = ["David", "Sam"];
$name3 = ["Bob", "Adam"];

foreach ($name1 as $n1) {
    foreach ($name2 as $n2) {
        foreach ($name3 as $n3) {
            echo "insert into `student_details` (`name1`, `name2`, `name3`) VALUES ('$n1', '$n2', '$n3');\n";
            echo "<br>";
        }
    }
}
?>
</body>
</html>

出力結果

実行すると、以下のように全8通りのINSERT文が順番に出力されます。

INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('John','David','Bob');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('John','David','Adam');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('John','Sam','Bob');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('John','Sam','Adam');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('Mike','David','Bob');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('Mike','David','Adam');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('Mike','Sam','Bob');
INSERT INTO `student_details`(`name1`,`name2`,`name3`) VALUES('Mike','Sam','Adam');

ポイント解説

  • 外側から内側へループが回るため、$name1 → $name2 → $name3 の順にすべての要素が組み合わされます。
  • 配列の要素数が増えると組み合わせの数は指数関数的に増加するため、大量データを扱う場合は注意が必要です。
  • 実際にMySQLへ挿入する際は、文字列連結によるSQL構築はSQLインジェクションのリスクがあるため、本番環境ではPDOやmysqliのプリペアドステートメントを使うことが推奨されます。
  • パフォーマンス向上のため、複数行をまとめて挿入できる「一括INSERT(バルクインサート)」形式に組み立てるのも有効です。
  1. Pythonの辞書(dict)に新しいキーと値を追加する方法

    Pythonの辞書(dict)は、キーと値のペアでデータを管理できる便利なデータ構造です。既存の辞書に新しい要素を追加する方法は主に2つあります。この記事では、それぞれの方法を具体例とともに解説します。1. 代入演算子を使って追加する最もシンプルな方法は、代入演算子「=」を使用することです。書式は以下の通りです。D[key] = value指定したキーがすでに辞書内に存在する場合は、そのキーの値が更新されます。存在しない場合は、新しいキーと値のペアが辞書に追加されます。次の例では、文房具の価格を格納した辞書に、新しいキー「school bag」とその値「200」を追加しています。>>

  2. PDFをPowerPointに挿入する方法|目的別に使い分けられる6つのテクニック

    クライアントや同僚からPDFファイルを受け取り、その内容をPowerPointプレゼンテーションに追加しなければならない――そんな経験はありませんか?しかも時間がなく、資料を一から作り直す余裕がないとなれば、さらに頭が痛いところです。どうすればPDFをPowerPointに挿入して、より充実したプレゼンテーションを実現できるのでしょうか?この記事では、コンテンツの活用方法に応じて、PDF形式のファイルをプレゼンテーションに組み込むさまざまな方法をご紹介します。PDFをPowerPointに挿入する主な方法PDFファイルの内容をどのように活用したいかによって選択肢はいくつもありますが、主な方法は