PHP는 배열에서 중복 데이터베이스를 제거합니다

PHPz
풀어 주다: 2023-05-24 14:15:10
원래의
521명이 탐색했습니다.

PHP는 웹 애플리케이션 개발에 널리 사용되는 널리 사용되는 서버 측 프로그래밍 언어입니다. PHP 개발에서 데이터베이스 운영은 매우 일반적인 요구 사항 중 하나입니다. 데이터베이스에서 데이터를 가져올 때 데이터 중복이 자주 발생합니다. 이러한 중복 데이터를 중복 제거해야 하는 경우 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() 함수를 사용합니다.

또 다른 방법은 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. PHP 배열 중복 제거가 데이터베이스에 적용됩니다

이제 중복 레코드가 있는 학생 테이블이 있다고 가정합니다. 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();
?>
로그인 후 복사

코드에서는 먼저 데이터베이스에 연결하여 학생 테이블에서 데이터를 가져온 다음 데이터를 배열에 저장하고 array_unique() 함수를 사용하여 배열을 중복 제거한 다음 마지막으로 중복 제거된 데이터를 저장하고 새 테이블에 삽입합니다.

3. 결론

이 글에서는 array_unique() 함수와 array_flip() 함수를 포함하여 PHP 배열을 사용하여 중복을 제거하는 방법을 소개합니다. 이러한 방법은 어레이 중복 제거를 달성하는 효과적인 수단입니다. 또한 이러한 방법을 데이터베이스에 적용하여 중복 레코드 테이블에서 중복 레코드를 제거하고 새 테이블에 저장하는 작업도 완료했습니다. 이는 PHP 개발에서 매우 일반적인 실무 요구 사항이며 실제 개발에서 유연하게 사용할 수 있습니다.

위 내용은 PHP는 배열에서 중복 데이터베이스를 제거합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿