> 백엔드 개발 > PHP 문제 > PHP 배열 세트를 찾는 방법

PHP 배열 세트를 찾는 방법

PHPz
풀어 주다: 2023-04-23 16:11:32
원래의
495명이 탐색했습니다.

PHP 프로그래밍 언어에서 배열은 가장 일반적으로 사용되는 데이터 유형 중 하나입니다. 배열은 순서가 지정된 값 집합을 저장할 수 있으며 집합, 스택, 대기열과 같은 데이터 구조를 구현하는 데에도 사용할 수 있습니다. 이 기사에서는 배열 중복 제거, 배열 병합, 배열 교차 및 차이 연산을 포함하여 PHP 배열의 집합 연산에 대해 설명합니다.

  1. 배열 중복 제거

실제 개발 중에는 배열에서 중복된 요소를 제거해야 하는 경우가 있습니다. PHP는 이 함수를 구현하기 위해 array_unique() 함수와 같은 몇 가지 내장 함수를 제공합니다. 그러나 이 함수가 연관 배열을 처리할 때 마지막 중복 키-값 쌍을 유지합니다. 따라서 중복 제거 작업을 구현하기 위해 자체 함수를 작성할 수 있습니다.

function removeDuplicates($arr) {
  $output = array();
  foreach($arr as $value) {
    if(!in_array($value, $output)) {
      array_push($output, $value);
    }
  }
  return $output;
}
로그인 후 복사

위 코드에서는 foreach 루프를 사용하여 배열을 순회합니다. 현재 값이 출력 배열에 존재하지 않는 것으로 감지되면 다음을 추가합니다. 그것. 이 함수는 중복된 요소가 없는 새 배열을 반환합니다.

  1. Array Merging

실제 개발에서는 두 개 이상의 배열을 새로운 배열로 병합해야 하는 경우가 있습니다. PHP는 내장 함수 array_merge(), array_replace(), array_merge_recursive() 및 이 함수를 구현할 수 있는 기타 함수를 제공합니다. 이러한 기능을 사용하는 방법을 살펴보겠습니다.

// array_merge()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'grape', 'watermelon');
$newArr = array_merge($arr1, $arr2); // 输出:apple, banana, orange, pear, grape, watermelon

// array_replace()函数
$arr1 = array('apple' => 1, 'banana' => 2);
$arr2 = array('orange' => 3, 'banana' => 4);
$newArr = array_replace($arr1, $arr2); // 输出:apple => 1, banana => 4, orange => 3

// array_merge_recursive()函数
$arr1 = array('apple' => 1, 'banana' => 2);
$arr2 = array('orange' => 3, 'banana' => array('x', 'y'));
$newArr = array_merge_recursive($arr1, $arr2); // 输出:apple => 1, banana => [2, ['x', 'y']], orange => 3
로그인 후 복사

다양한 배열 병합 기능을 사용할 때는 차이점과 사용법에 주의해야 합니다.

  1. 배열 교차

실제 개발에서는 때때로 두 개 이상의 배열의 교차점을 취해야 합니다. 즉, 배열 간의 공통 요소만 유지해야 합니다. PHP는 내장 함수 array_intersect(), array_intersect_assoc(), array_uintersect() 및 이 함수를 구현하는 기타 함수를 제공합니다. 다음 함수의 사용법을 살펴보겠습니다.

// array_intersect()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_intersect($arr1, $arr2); // 输出:banana

// array_intersect_assoc()函数
$arr1 = array('apple' => 1, 'banana' => 2, 'orange' => 3);
$arr2 = array('pear' => 4, 'banana' => 5, 'watermelon' => 6);
$newArr = array_intersect_assoc($arr1, $arr2); // 输出:banana => 2

// array_uintersect()函数
function compare($a, $b) {
  if($a === $b) {
    return 0;
  }
  else {
    return ($a > $b ? 1 : -1);
  }
}
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_uintersect($arr1, $arr2, 'compare'); // 输出:banana
로그인 후 복사

다양한 배열 교차 함수를 사용할 때는 차이점과 사용법에 주의해야 합니다.

  1. Array Difference

실제 개발에서는 두 개 이상의 배열의 차이 집합을 가져와야 하는 경우가 있습니다. 즉, 첫 번째 배열에서 후속 배열에 나타나는 요소를 제거해야 하는 경우가 있습니다. PHP는 내장 함수 array_diff(), array_diff_assoc(), array_udiff() 및 이 함수를 구현하는 기타 함수를 제공합니다. 다음 함수의 사용법을 살펴보겠습니다.

// array_diff()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_diff($arr1, $arr2); // 输出:apple, orange

// array_diff_assoc()函数
$arr1 = array('apple' => 1, 'banana' => 2, 'orange' => 3);
$arr2 = array('pear' => 4, 'banana' => 5, 'watermelon' => 6);
$newArr = array_diff_assoc($arr1, $arr2); // 输出:apple => 1, banana => 2, orange => 3

// array_udiff()函数
function compare($a, $b) {
  if($a === $b) {
    return 0;
  }
  else {
    return ($a > $b ? 1 : -1);
  }
}
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_udiff($arr1, $arr2, 'compare'); // 输出:apple, orange
로그인 후 복사

다양한 배열 차이 함수를 사용할 때는 차이점과 사용법에 주의해야 합니다.

요약

PHP 프로그래밍에서 배열은 가장 일반적으로 사용되는 데이터 유형 중 하나입니다. 일부 내장 함수를 사용하거나 자체 함수를 작성함으로써 중복 제거, 병합, 교차, 차이 등과 같은 PHP 배열에 대한 다양한 작업을 쉽게 구현할 수 있습니다. 실제 개발에서는 더 나은 결과를 얻으려면 특정 시나리오에 따라 이러한 작업을 유연하게 사용해야 합니다.

위 내용은 PHP 배열 세트를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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