phpは配列から重複したデータベースを削除します

PHPz
リリース: 2023-05-24 14:15:10
オリジナル
522 人が閲覧しました

PHP は、Web アプリケーションの開発に広く使用されている、人気のあるサーバー側プログラミング言語です。 PHP 開発では、データベースの操作は非常に一般的な要件の 1 つです。データベースからデータを取得する場合、データの重複が発生することがよくあります。これらの重複データを重複排除する必要がある場合は、PHP の配列重複排除メソッドを使用してそれを実現できます。この記事では、PHP を使用して配列から重複データを削除し、これらの操作をデータベースに適用する方法を紹介します。

1. PHP 配列重複排除

1. array_unique() 関数の使用

PHP は、配列重複排除を実装するための array_unique() 関数を提供します。この関数は、元の入力配列を変更せずに重複排除された配列を返します。使用例は次のとおりです:

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_unique($array);
print_r($result);
ログイン後にコピー

出力:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
ログイン後にコピー
ログイン後にコピー

2. array_flip() 関数と array_keys() 関数を使用します

もう 1 つの方法は、array_flip() 関数を使用することです。配列のキーと値を変換し、array_keys() 関数を使用してキー配列を取得します。キー名は一意であるため、この方法でも配列の重複排除を実現できます。使用例は次のとおりです。

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_keys(array_flip($array));
print_r($result);
ログイン後にコピー

出力:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
ログイン後にコピー
ログイン後にコピー

2 つのメソッドの実装原理は若干異なりますが、どちらも配列の重複排除を実現できます。データ サイズが小さい配列の場合、どちらの方法でもパフォーマンスの問題はありません。ただし、大量のデータを含む配列を重複排除する必要がある場合は、2 番目の方法の方がパフォーマンスが高くなります。

2. PHP 配列の重複排除がデータベースに適用される

次に、重複レコードを持つ Students テーブルがあり、PHP 重複排除関数を使用して重複を排除し、新しいテーブルに保存すると仮定します。学生のテーブル。コード例は次のとおりです。

<?php
  //连接数据库
  $servername = "localhost";
  $username = "username";
  $password = "password";
  $dbname = "myDB";

  $conn = new mysqli($servername, $username, $password, $dbname);

  //检测连接
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  //从students表中获取数据
  $sql = "SELECT * FROM students";
  $result = $conn->query($sql);

  //将数据存入一个数组
  $array = array();
  if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
      $array[] = $row;
    }
  }

  //使用array_unique()函数进行数组去重
  $unique = array_unique($array, SORT_REGULAR);

  //清空旧表
  $sql = "TRUNCATE TABLE students";
  $conn->query($sql);

  //将去重后的数据插入新表
  foreach($unique as $row) {
    $sql = "INSERT INTO students (name,age,grade) VALUES ('" . $row['name'] . "'," . $row['age'] . "," . $row['grade'] . ")";
    $conn->query($sql);
  }

  //关闭数据库连接
  $conn->close();
?>
ログイン後にコピー

コードでは、最初にデータベースに接続して、students テーブルからデータを取得し、次にそのデータを配列に格納し、array_unique() 関数を使用して配列の重複を排除します。 、最後に削除します。繰り返されたデータが新しいテーブルに挿入されます。

3. 結論

この記事では、array_unique() 関数や array_flip() 関数の使用など、PHP 配列を使用して重複を削除する方法を紹介します。これらの方法は、アレイの重複排除を実現する効果的な手段です。さらに、これらのメソッドをデータベースに適用して、重複レコード テーブルから重複レコードを削除し、新しいテーブルに格納する操作を完了しました。これは PHP 開発における非常に一般的な実際的な要件であり、実際の開発でも柔軟に使用できます。

以上がphpは配列から重複したデータベースを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート