PHP array_intersect_uassoc() 함수

예제

두 개의 배열의 키 이름과 키 값을 비교하고(사용자 정의 함수를 사용하여 키 이름을 비교), 교집합을 반환합니다:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

실행 예제

정의와 사용법

array_intersect_uassoc() 함수는 두 개(또는 더 많은 개)의 배열의 키 이름과 키 값을 비교하고, 교집합을 반환합니다.

주의사항:이 함수는 사용자 정의 함수를 사용하여 키 이름을 비교합니다!

이 함수는 두 개(또는 더 많은 개)의 배열의 키 이름과 키 값을 비교하고, 비교된 배열에 포함된 모든 값이 포함된 교집합 배열을 반환합니다.array1중에서도 포함되며, 다른 모든 매개변수 배열(array2 또는 array3 그리고 다른) 키 이름과 키 값을 포함합니다.

설명

array_intersect_uassoc() 함수는 사용자 정의 콜백 함수를 사용하여 배열의 교집합을 계산하며, 인덱스를 비교합니다.

array_intersect_uassoc()는 모든 비교된 배열에 존재하는 모든 값이 포함된 배열을 반환합니다. array1 그리고 모든 다른 매개변수 배열에도 동시에 존재하는 값.

참고로 array_intersect()와 다른 점은 키 값뿐만 아니라 키 이름도 비교한다는 점입니다.

이 비교는 사용자가 제공한 콜백 함수를 통해 수행됩니다. 이 함수는 두 비교할 키 이름을 가진 두 개의 매개변수를 가집니다. 첫 번째 매개변수가 두 번째 매개변수보다 작으면 함수는 음수를 반환해야 하며, 두 매개변수가 같으면 0을 반환해야 하고, 첫 번째 매개변수가 두 번째 매개변수보다 크면 양수를 반환해야 합니다.

문법

array_intersect_uassoc(array1,array2,array3...myfunction)
매개변수 설명
array1 필수. 다른 배열과 비교할 첫 번째 배열.
array2 필수. 첫 번째 배열과 비교할 배열.
array3,... 선택 사항. 첫 번째 배열과 비교할 다른 배열.
myfunction 필수. 호출할 수 있는 비교 함수를 정의하는 문자열.

기술 세부 사항

반환 값: 교집합 배열을 반환합니다. 이 배열은 모든 비교된 배열(array1중에서도 포함되며, 다른 모든 매개변수 배열(array2 또는 array3 그리고 다른) 키 이름과 키 값을 포함합니다.
PHP 버전: 5+

더 많은 예제

예제 1

세 개의 배열의 키 이름과 키 값을 비교하여 (사용자 정의 함수를 사용하여 키 이름을 비교합니다) 교집합을 반환합니다:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

실행 예제