English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
array_diff_assoc()funzione che confronta due (o più) array e restituisce un array di differenze.
Questa funzione confronta due (o più) array di chiavi e valori e restituisce un array che contiene le voci di $array1 che non esistono in $array2 o $array3, ... ecc.
Questa funzione differisce daarray_diff()funzione, poiché array_diff() utilizza solo i valori per confrontare gli array.array_diff_assoc()La funzione utilizza sia le chiavi che i valori per confrontare gli array.
array array_diff_assoc(array $array1, array $array2[, array $array3...]);
序号 | 参数及说明 |
---|---|
1 | array1 (必填) 是要与之比较的数组 |
2 | array2 (必填) 它是一个要与第一个数组进行比较的数组 |
3 | array3(选填) 它是一个要与第一个数组进行比较的数组 |
函数array_diff_assoc()返回一个数组,其中包含array1中的所有值,这些值在任何其他具有相同键的数组中都不存在。
此函数最早是在PHP版本4.3.0中引入的。
试试下面的实例。这两个数组中都存在“ a” =>“ orange”和“ c” =>“ banana”,因此在结果中不会出现-
<?php $input1 = array("a"=>"orange", "b"=>"mango", "c"=>"banana"); $input2 = array("a"=>"orange", "b"=>"apple", "c"=>"banana"); print_r(array_diff_assoc($input1, $input2)); ?>测试看看‹/›
输出结果:
Array ( [b] => mango )
在这里,两个数组对于所有对都有不同的键和相应的值,例如"a"=>"orange"在第二个数组中不存在,类似地,其他键值对也不存在于第二个数组中,因此它们将在结果中可用-
<?php $input1 = array("a"=>"orange", "b"=>"mango", "c"=>"banana"); $input2 = array("a"=>"banana", "b"=>"apple", "c"=>"orange"); print_r(array_diff_assoc($input1, $input2)); ?>测试看看‹/›
输出结果:
Array ( [a] => orange [b] => mango [c] => banana )
下面示例说明了,仅当(string)$elem1 ===(string)$elem2时,键=>值(key=>value)对中的两个值才视为相等。
<?php $input1 = array(0, 5, 20); $input2 = array("00", "05", "20"); $result = array_diff_assoc($input1, $input2); print_r($result); ?>测试看看‹/›
输出结果:
Array ( [0] => 0 [1] => 5 )