Home > Backend Development > PHP Tutorial > Learn a new PHP function every day (2) array_diff()/array_diff_key()/array_diff_assoc()_PHP tutorial

Learn a new PHP function every day (2) array_diff()/array_diff_key()/array_diff_assoc()_PHP tutorial

WBOY
Release: 2016-07-13 09:54:24
Original
1333 people have browsed it

Learn a new php function every day (2) array_diff()/array_diff_key()/array_diff_assoc()

array_diff( array array1, array array2 [, array …] )

Description
array_diff() returns an array containing all values ​​in array1 that are not in any other argument array. Note that the key names remain unchanged.

Liezi

<code><!--?php
    $array1 = array("a" =--> "green", "red", "blue", "red");
    $array2 = array("b" => "green", "yellow", "red");
    $result = array_diff($array1, $array2);
    print_r($result);
?>
</code>
Copy after login

The output result is

<code>Array([1] => blue)
</code>
Copy after login

Attention

Two cells are considered identical only if (string) $elem1 === (string) $elem2. That is, when the string expressions are the same. Note that this function only checks one dimension of a multidimensional array. Of course you can use array_diff($array1[0], $array2[0]); to check deeper dimensions.

array array_diff_assoc ( array array1, array array2 [, array …] )

Description
array_diff_assoc() returns an array containing all values ​​in array1 that are not in any other argument array. Note that unlike array_diff(), key names are also used for comparison.
Lie Zi

<code><!--?php
    $array1 = array("a" =--> "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
?> 
</code>
Copy after login

Output

<code>Array(
    [b] => brown
    [c] => blue
    [0] => red
)
</code>
Copy after login

In the above example, you can see that the key-value pair "a" => "green" is present in both arrays, so it is not included in the output of this function. In contrast, the key-value pair 0 => "red" appears in the output because the key of "red" in the second parameter is 1.

Liezi 2

<code><!--?php
    $array1 = array(0, 1, 2);
    $array2 = array("00", "01", "2");
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
?--> 
</code>
Copy after login

Output

<code>Array(
    [0] => 0
    [1] => 1
)    
</code>
Copy after login

Two values ​​in the key => value pair are considered equal only if (string) elem1===(string)elem2. That is to say, strict checking is used, and the expressions of the strings must be the same.

Attention

Note: Note that this function only checks one dimension of the multi-dimensional array. Of course you can use array_diff_assoc($array1[0], $array2[0]); to check deeper dimensions.

array array_diff_key ( array $array1 , array $array2 [, array $… ] )

Description
Compare the key names in array1 with array2 and return items with different key names. This function is the same as array_diff() except that the comparison is based on keys rather than values.
Returns an array containing the values ​​of all keys that appear in array1 but do not appear in any other parameter array.

Liezi

<code><!--?php
    $array1 = array('blue'  =--> 1, &#39;red&#39;  => 2, &#39;green&#39;  => 3, &#39;purple&#39; => 4);
    $array2 = array(&#39;green&#39; => 5, &#39;blue&#39; => 6, &#39;yellow&#39; => 7, &#39;cyan&#39;   => 8);

    var_dump(array_diff_key($array1, $array2));
?> 
</code>
Copy after login

Output

<code>array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}
</code>
Copy after login

Two key names in a key => value pair are considered equal only if (string)$key1 === (string) $key2 . In other words, strict type checking is performed, so the string representations must be exactly the same.

array array_intersect ( array $array1 , array $array2 [, array $ … ] )

Description
array_intersect() returns an array containing all values ​​in array1 that are also present in all other argument arrays. Note that the key names remain unchanged.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/997429.htmlTechArticleLearn a new php function every day (2) array_diff()/array_diff_key()/array_diff_assoc() array_diff( array array1, array array2 [, array ] ) Description array_diff() returns an array...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template