Home  >  Article  >  Backend Development  >  How to compare and intercept arrays in php

How to compare and intercept arrays in php

PHPz
PHPzOriginal
2023-04-26 10:23:25513browse

In PHP, we can obtain part of the elements by comparing and intercepting arrays. Comparing and intercepting arrays is to compare the elements in one array with the elements in another array and remove the unmatched elements, thereby intercepting the elements that match the elements in the other array. This article will introduce how to use PHP to compare intercepted arrays.

1. array_intersect function

PHP provides an array_intersect function, which can be used to compare whether the elements in two or more arrays are the same. This function returns elements that exist in two or more arrays, that is, the intersection.

The following is an example of using the array_intersect function to compare intercepted arrays:

$a1 = array('a', 'b', 'c', 'd');
$a2 = array('b', 'd', 'f', 'h');
$result = array_intersect($a1, $a2);
print_r($result);

In the above example, we defined two arrays $a1 and $a2, and used the array_intersect function to compare these Two arrays. This function will return the elements that exist in both $a1 and $a2, namely 'b' and 'd', and store them in the $result array. Finally, we use the print_r function to output the contents of the $result array. The output result is:

Array
(
    [1] => b
    [3] => d
)

2. array_diff function

PHP provides another function array_diff, which can be used to compare two or Whether the elements in multiple arrays are different. This function returns the elements that only exist in the first array, that is, the difference set.

The following is an example of using the array_diff function to compare intercepted arrays:

$a1 = array('a', 'b', 'c', 'd');
$a2 = array('b', 'd', 'f', 'h');
$result = array_diff($a1, $a2);
print_r($result);

In the above example, we defined two arrays $a1 and $a2, and used the array_diff function to compare these Two arrays. This function will return the elements that only exist in $a1, namely 'a' and 'c', and store them in the $result array. Finally, we use the print_r function to output the contents of the $result array. The output result is:

Array
(
    [0] => a
    [2] => c
)

3. Using foreach loop

In addition to using the array_intersect and array_diff functions, we can also use foreach Loop to compare intercepted arrays. This method can customize the comparison rules, and the comparison results are more flexible.

The following is an example of using a foreach loop to compare intercepted arrays:

$a1 = array('a', 'b', 'c', 'd');
$a2 = array('b', 'd', 'f', 'h');
$result = array();
foreach ($a1 as $value1) {
    foreach ($a2 as $value2) {
        if ($value1 == $value2) {
            $result[] = $value1;
            break;
        }
    }
}
print_r($result);

In the above example, we define two arrays $a1 and $a2, and use a foreach loop to compare these Two arrays. First, we loop through each element in $a1, then loop through each element in $a2, using an if statement to compare whether they are equal. If they are equal, store the element in the $result array and use the break statement to end the inner loop. Finally, we use the print_r function to output the contents of the $result array. The output result is:

Array
(
    [0] => b
    [1] => d
)

IV. Summary

Through the above examples, we can see that PHP provides different methods To compare intercepted arrays, we can choose different methods according to specific needs. Among them, the array_intersect and array_diff functions are relatively simple to use and suitable for smaller arrays. By using a foreach loop for comparison, you can customize the comparison rules and apply to larger arrays. No matter which method is used, you can easily compare and intercept arrays to quickly obtain the required elements.

The above is the detailed content of How to compare and intercept arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn