이전 글 "PHP 배열 연산: 배열 요소의 곱을 계산하는 방법"에서 PHP에서 배열 요소의 곱을 계산하는 방법에 대한 지식을 자세히 소개했습니다. 이번 글에서는 이에 대해 살펴보겠습니다. PHP에서 두 항목을 비교하는 방법 그런 다음 배열은 여러 배열 간의 교차점에 대한 관련 지식을 얻는 방법이 모든 사람에게 도움이 되기를 바랍니다.
이전 기사에서는 PHP에서 배열 요소의 곱을 계산하는 방법을 소개했습니다. for
루프, foreach
루프 및 array_product
함수는 배열 요소의 곱을 계산하는 데 사용됩니다. 배열 병합과 같은 여러 배열 간의 문제도 다루었습니다. 배열을 읽을 때 PHP에서 일반적으로 사용되는 작업인 여러 배열의 교차점을 구하는 작업을 언급해야 합니다. for
循环、foreach
循环和array_product
函数来进行计算数组元素乘积的操作。我们之前也处理过多个数组之间的问题比如数组的合并,说道读个数组,那就不得不提PHP中比较常用到的操作,那就是获取多个数组的交集。
这是属于数组比较,通过比较数组来获取数组之间的交集,那通过什么样的方法能够做到呢?接下来就让我们一起来看一下吧。
<strong><span style="font-size: 20px;">array_intersect</span></strong>
函数-比较数组的键值
在PHP中内置了array_intersect
函数用来在比较数组的时候,比较数组的键值,然后以数组的元素返回出两个数组中都有的键值,也就是两个数组的交集。
array_intersect
函数的基本语法格式如下:
array_intersect(array1,array2,array3...);
其中需要注意的是,参数array123表示的就是第几个用来比较的数组,数组1是用来与其他数组进行比较的,数组2和3都是用来与数组1进行比较的。当函数比较两个或者多个数组的时候,返回的结果就是一个交集数组。
这个返回的数组中只有数组1与其他数组的交集,并且键名也是数组1的,也就是说,返回的数组是数组1的一部分,其他数组只通过键值与数组1进行比较,并不会出现在返回的数组中。只比较键值。
接下来我们通过示例来看一下array_intersect函数的应用,示例如下:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("e"=>"red","f"=>"green","g"=>"purple"); $result=array_intersect($a1,$a2); print_r($result); ?>
输出结果:
上述示例中便是比较了两个数组,可以看到的是,数组1中有两个键值与数组2相同,输出的结果中键名还是数组1的键名。
上述示例中是比较两个数组,下面我们举个例子看一下比较三个数组,示例如下:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("e"=>"red","f"=>"blue","g"=>"purple"); $a3=array("a"=>"red","b"=>"black","h"=>"blue"); $result=array_intersect($a1,$a2,$a3); print_r($result); ?>
输出结果:
接下来我们看一下PHP中的array_intersect_key函数,他并不是比较键值,而是比较键名。
<strong><span style="max-width:90%">array_intersect_key</span></strong>
函数-比较数组的键名
array_intersect_key
函数与array_intersect
函数是很类似的,就是比较方式的不同,array_intersect_key
函数通过比较键名来获取键名相同的交集,
array_intersect_key
函数的基本语法格式如下:
array_intersect_key(array1,array2,array3...)
其中需要注意的是:参数array123表示的就是第几个用来比较的数组,数组1是用来与其他数组进行比较的,数组2和3都是用来与数组1进行比较的。当函数比较两个或者多个数组的时候,返回的结果就是一个交集数组。
这个返回的函数与array_intersect
还是类似的,返回的结果中是数组交集键名数组1中对应的键值。只比较键名。
下面我们通过示例来看一下array_intersect_key
函数的使用,示例如下:
首先我们看一下,没有定义键名,只通过索引进行的数组
<?php $a1=array("red","green","blue","yellow"); $a2=array("red","green","blue"); $result=array_intersect_key($a1,$a2); print_r($result); ?>
输出结果:
当有定义键值的键名时,一样的,还是比较键名就可以了,示例如下:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"red","f"=>"blue","g"=>"purple"); $a3=array("a"=>"red","b"=>"black","h"=>"blue"); $result=array_intersect_key($a1,$a2,$a3); print_r($result); ?>
输出结果:
上述示例便是通过array_intersect_key
函数来比较键名获取交集的操作。
<span style="max-width:90%">array_intersect_assoc</span>
函数-比较数组的键名和键值
上文中的两个函数一个比较键值,一个比较键名,现在好了PHP中通过array_intersect_assoc
<strong><span style="font-size: 20px;">array_intersect</span></strong>
기능 - 배열의 키 값 비교🎜🎜 array_intersect
함수는 PHP에 내장되어 배열을 비교할 때 배열의 키 값을 비교한 후, 배열의 요소를 사용합니다. 두 배열의 교집합인 두 배열에 모두 존재하는 키 값을 반환합니다. 🎜🎜array_intersect
함수의 기본 구문 형식은 다음과 같습니다. 🎜array_intersect_assoc(array1,array2,array3...)
<?php $a1=array("red","green","blue","yellow"); $a2=array("red","black","blue"); $a3=array("red"); $result=array_intersect_key($a1,$a2,$a3); print_r($result); ?>
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"red","b"=>"green","g"=>"purple"); $a3=array("a"=>"red","b"=>"green","h"=>"blue"); $result=array_intersect_assoc($a1,$a2,$a3); print_r($result); ?>
<strong><span style="max-width:90%">array_intersect_key</span></strong>
함수 - 배열의 키 이름 비교🎜🎜array_intersect_key
함수는 array_intersect
함수와 매우 유사하지만 비교 방법이 다릅니다. < code> array_intersect_key 함수는 키 이름을 비교하여 동일한 키 이름의 교차점을 얻습니다. 🎜🎜array_intersect_key
함수의 기본 구문 형식은 다음과 같습니다. 🎜rrreee🎜 : 매개변수 array123은 여러 배열이 비교에 사용됨을 나타냅니다. 배열 2와 3은 모두 배열 1과 비교하는 데 사용됩니다. 함수가 두 개 이상의 배열을 비교할 때 반환되는 결과는 교차 배열입니다. array_intersect
와 유사합니다. 반환된 결과는 배열 교차 키 이름 배열 1의 해당 키 값입니다. 키 이름만 비교하세요. 🎜🎜예제를 통해 array_intersect_key
함수의 사용법을 살펴보겠습니다. 예는 다음과 같습니다. 🎜🎜먼저 키 이름을 정의하지 않고 키만 사용하여 배열을 살펴보겠습니다. index🎜rrreee🎜출력 결과:<span style="max-width:90%">array_intersect_assoc</span>
기능 - 키 이름과 키 이름을 비교합니다. 배열 키 값의 합🎜🎜위의 두 함수 중 하나는 키 값을 비교하고 다른 하나는 키 이름을 비교합니다. 이제 PHP에서는 array_intersect_assoc
함수를 사용하여 비교할 수 있습니다. 키 값과 키 이름을 동시에 입력해야 합니다. 즉, 출력 결과는 키 값과 키 이름이 동일해야 합니다. 🎜array_intersect_assoc
函数的基本语法格式如下:
array_intersect_assoc(array1,array2,array3...)
其中需要注意的是:参数array123表示的就是第几个用来比较的数组,数组1是用来与其他数组进行比较的,数组2和3都是用来与数组1进行比较的。当函数比较两个或者多个数组的时候,返回的结果就是一个交集数组。
这个返回的交集数组,既然键名和键值都是一样的,返回的结果也就不需要争论什么了。
接下来我们通过示例来看一下array_intersect_assoc
函数的应用,示例如下:
首先我们还是先来看一下没有定义键名,只通过索引进行的数组
<?php $a1=array("red","green","blue","yellow"); $a2=array("red","black","blue"); $a3=array("red"); $result=array_intersect_key($a1,$a2,$a3); print_r($result); ?>
输出结果:
下面我们再来看一下,有自定义键名的数组
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"red","b"=>"green","g"=>"purple"); $a3=array("a"=>"red","b"=>"green","h"=>"blue"); $result=array_intersect_assoc($a1,$a2,$a3); print_r($result); ?>
输出结果:
这便是在PHP中可以通过array_intersect
函数、array_intersect_key
和array_intersect_assoc
函数分别以不同的方法来获取数组之间的交集。
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
위 내용은 5분 안에 여러 배열의 교차점을 구하는 세 가지 방법 알아보기(컬렉션)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!