


Learn three methods to obtain the intersection of multiple arrays in five minutes (Collection)
In the previous article "PHP Array Operation: Method of Calculating the Product of Array Elements", the relevant knowledge of how to calculate the product of array elements in PHP was introduced in detail. In this article, let's take a look at PHP How to compare two arrays and then obtain the relevant knowledge of the intersection between multiple arrays, I hope it will be helpful to everyone!
In the previous article, we introduced how to calculate the product of array elements in PHP. We can use the for
loop in PHP, foreach
Loop and array_product
function to calculate the product of array elements. We have also dealt with issues between multiple arrays before, such as merging arrays. When it comes to reading an array, we have to mention a commonly used operation in PHP, which is to obtain the intersection of multiple arrays.
This is an array comparison. The intersection between arrays is obtained by comparing arrays. So what method can be used to do it? Let’s take a look at it next.
<strong><span style="font-size: 20px;">array_intersect</span></strong>
Function - Compare the key values of arrays
There is a built-in array_intersect
function in PHP that is used to compare the key values of the arrays when comparing arrays, and then return the key values in both arrays using the elements of the array, that is, the key values of the two arrays. intersection.
array_intersect
The basic syntax format of the function is as follows:
array_intersect(array1,array2,array3...);
It should be noted that the parameter array123 represents the number of arrays used for comparison, and array 1 is Used for comparison with other arrays, arrays 2 and 3 are both used for comparison with array 1. When a function compares two or more arrays, the returned result is an intersection array.
The returned array only has the intersection of array 1 and other arrays, and the key name is also array 1. In other words, the returned array is part of array 1, and other arrays only use key values. Compare with array 1 and will not appear in the returned array. Only compare key values.
Next, let’s take a look at the application of the array_intersect function through an example. The example is as follows:
<?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); ?>
Output result:
In the above example, two arrays are compared. As you can see, there are two key values in array 1 that are the same as array 2. The key names in the output result are still the key names of array 1.
The above example compares two arrays. Let's take an example to compare three arrays. The example is as follows:
<?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); ?>
Output result:
Next let's take a look at the array_intersect_key function in PHP. It does not compare key values, but compares key names.
<strong><span style="max-width:90%">array_intersect_key</span></strong>
Function - Compare the key names of arrays
The array_intersect_key
function is very similar to the array_intersect
function, but the comparison method is different. array_intersect_key
The function obtains the intersection with the same key name by comparing the key name,
array_intersect_key
The basic syntax format of the function is as follows:
array_intersect_key(array1,array2,array3...)
It should be noted that the parameter array123 represents the number of arrays used for comparison, and array 1 is used For comparison with other arrays, arrays 2 and 3 are both used for comparison with array 1. When a function compares two or more arrays, the returned result is an intersection array.
The function returned is similar to array_intersect
. The returned result is the corresponding key value in the array intersection key name array 1. Only compare key names.
Let’s take a look at the use of the array_intersect_key
function through an example. The example is as follows:
First, let’s take a look at an array that does not define a key name and only uses an index
<?php $a1=array("red","green","blue","yellow"); $a2=array("red","green","blue"); $result=array_intersect_key($a1,$a2); print_r($result); ?>
Output result:
#When there is a key name that defines the key value, it is the same, just compare the key name, the example is as follows :
<?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); ?>
Output result:
The above example is the operation of comparing key names to obtain intersection through the array_intersect_key
function .
<span style="max-width:90%">array_intersect_assoc</span>
Function - Compare the key name and key value of the array
The two above One function compares the key value and the other compares the key name. Now PHP can compare the key value and key name at the same time through the array_intersect_assoc
function. That is to say, the output result must be that the key value and key name are equal. .
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知识的学习。
The above is the detailed content of Learn three methods to obtain the intersection of multiple arrays in five minutes (Collection). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.
