PHP8의 배열 함수: array_intersect_assoc()의 다양한 작업 예
PHP 언어는 웹 개발 및 서버 측 스크립트 프로그래밍에 널리 사용되는 언어입니다. 강력한 배열 기능 지원은 뛰어난 성능의 중요한 구성 요소 중 하나입니다. PHP8에서는 연관 배열을 운영할 때 더 효율적인 성능과 더 편리한 사용법을 제공하는 새로운 배열 함수 array_intersect_assoc()이 도입되었습니다. 이 기사에서는 array_intersect_assoc() 함수의 사용법을 소개하고 다양한 작업 방법과 실제 적용 시나리오를 설명하는 다양한 예제를 제공합니다.
1. array_intersect_assoc()의 기본 사용법
array_intersect_assoc() 함수는 두 개 이상의 연관 배열을 비교하고 모든 입력 배열에 동일한 키와 값을 가진 요소가 포함된 새로운 연관 배열을 반환하는 데 사용됩니다. 구문은 다음과 같습니다.
array_intersect_assoc(array1,array2,array3,...)
여기서 각 입력 매개변수는 동일한 키와 값을 찾기 위해 비교되는 연관 배열입니다. 반환 값은 모든 입력 배열과 동일한 키와 값을 가진 요소를 포함하는 새로운 연관 배열입니다. 다음은 간단한 예입니다.
$array1 = array("a"=>"red","b"=>"green","c"=>"blue"); $array2 = array("a"=>"red","b"=>"blue"); $result = array_intersect_assoc($array1,$array2); print_r($result);
출력은 다음과 같습니다.
Array ( [a] => red )
이는 키가 "a"인 요소만 두 입력 배열에 존재하고 동일한 값을 갖기 때문입니다.
2. array_intersect_assoc()과 array_intersect()의 차이점
array_intersect()
함수와 달리 array_intersect_assoc()
함수는 값만 비교하는 것이 아닙니다. 요소뿐만 아니라 요소를 비교하는 키도 있습니다. 따라서 키-값 쌍 관계를 보다 정확하게 감지하고 처리합니다. 이 차이점을 설명하는 예를 살펴보겠습니다. array_intersect()
函数不同的是,array_intersect_assoc()
函数不仅比较元素的值,而且还比较元素的键。因此,它更精确地检测和处理键值对的关系。我们来看一个例子来说明这个区别:
$array1 = array("a"=>1,"b"=>2,"c"=>3); $array2 = array(2=>"b",3=>"a",4=>"c"); $result1 = array_intersect($array1,$array2); $result2 = array_intersect_assoc($array1,$array2); print_r($result1); print_r($result2);
输出结果为:
Array ( [b] => 2 ) Array ( [a] => 1 )
可以看到,array_intersect()
函数仅检测元素的值,找到相同的值"2",而array_intersect_assoc()
函数不仅找到值相同的元素"2",还找到键和值都相同的元素"a"。这就是两个函数之间的区别之一。
三、多个数组的比较运算
array_intersect_assoc()
函数不仅可以比较两个数组,也可以比较多个数组。下面的示例将演示如何比较三个数组:
$array1 = array("a"=>"red","b"=>"green","c"=>"blue"); $array2 = array("a"=>"red","b"=>"blue"); $array3 = array("a"=>"red","b"=>"green"); $result = array_intersect_assoc($array1,$array2,$array3); print_r($result);
输出结果为:
Array ( [a] => red )
这是因为只有键为"a"的元素在三个输入数组中都存在且值相等。
四、缺少元素的情况
如果不同输入数组中键不相等或值不相等,则不会包含在结果中。如果其中一个输入数组缺少某个键,则该键也不会被包含在结果中。例如:
$array1 = array("a"=>"red","b"=>"green","c"=>"blue"); $array2 = array("a"=>"red","d"=>"blue"); $result = array_intersect_assoc($array1,$array2); print_r($result);
输出结果为空数组。
五、保留键名或键的排序
在默认情况下,array_intersect_assoc()
函数会保留键名并保持它们在结果数组中的相对顺序。例如:
$array1 = array("a"=>"red","b"=>"green","c"=>"blue"); $array2 = array("a"=>"red","b"=>"blue"); $result = array_intersect_assoc($array1,$array2); print_r($result);
输出结果为:
Array ( [a] => red [b] => green )
如果要按键名的字母顺序排序结果,可以使用ksort()
函数,如下所示:
$array1 = array("a"=>"red","b"=>"green","c"=>"blue"); $array2 = array("a"=>"red","b"=>"blue"); $result = array_intersect_assoc($array1,$array2); ksort($result); print_r($result);
输出结果为:
Array ( [a] => red [b] => green )
如果不保留键名,只保留元素值,则可以使用array_intersect()
函数,如下所示:
$array1 = array("red","green","blue"); $array2 = array("red","blue"); $result = array_intersect($array1,$array2); print_r($result);
输出结果为:
Array ( [0] => red [2] => blue )
六、总结
array_intersect_assoc()
函数是PHP8中引入的新数组函数之一,它在关联数组的比较和操作中更精确、高效和方便。本文提供了多种示例,介绍了如何使用它进行多种运算和操作,包括基本用法、与array_intersect()
rrreee
array_intersect()
함수는 요소의 값만 감지하여 동일한 값을 찾습니다. "2", array_intersect_assoc()
함수는 동일한 값을 가진 "2" 요소를 찾을 뿐만 아니라 동일한 키와 값을 가진 "a" 요소도 찾습니다. 이것이 두 기능의 차이점 중 하나입니다. 🎜🎜3. 여러 배열의 비교 연산🎜🎜array_intersect_assoc()
함수는 두 배열을 비교할 뿐만 아니라 여러 배열을 비교할 수도 있습니다. 다음 예에서는 세 개의 배열을 비교하는 방법을 보여줍니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜rrreee🎜 이는 키가 "a"인 요소만 세 개의 입력 배열에 존재하고 동일한 값을 갖기 때문입니다. 🎜🎜4. 요소가 누락된 경우🎜🎜서로 다른 입력 배열의 키나 값이 동일하지 않으면 결과에 포함되지 않습니다. 입력 배열 중 하나에 키가 누락된 경우 해당 키는 결과에 포함되지 않습니다. 예: 🎜rrreee🎜출력 결과는 빈 배열입니다. 🎜🎜5. 키 이름 또는 키 순서 유지 🎜🎜기본적으로 array_intersect_assoc()
함수는 키 이름을 유지하고 결과 배열에서 상대적 순서를 유지합니다. 예: 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜rrreee🎜결과를 키 이름을 기준으로 알파벳순으로 정렬하려면 아래와 같이 ksort()
함수를 사용할 수 있습니다. 🎜rrreee🎜The 출력 결과는 🎜rrreee🎜 키 이름은 유지하지 않고 요소 값만 유지하는 경우 아래와 같이 array_intersect()
함수를 사용할 수 있습니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. : 🎜rrreee🎜 6. 요약🎜🎜array_intersect_assoc( )
함수는 PHP8에 도입된 새로운 배열 함수 중 하나입니다. 연관 배열의 비교 및 연산이 더욱 정확하고 효율적이며 편리해졌습니다. 이 문서에서는 다양한 예제를 제공하고 이를 사용하여 기본 사용법, array_intersect()
함수와의 차이점, 여러 배열의 비교 작업 및 누락된 요소를 포함하여 다양한 계산 및 작업을 수행하는 방법을 소개합니다. 키 이름 또는 키 순서 등 PHP 개발자의 경우 이러한 작업을 숙지하고 숙달하면 다양한 연관 배열 작업 요구 사항을 더 쉽고 효율적으로 처리할 수 있습니다. 🎜위 내용은 PHP8의 배열 함수: array_intersect_assoc()의 다양한 작업 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다
