array_diff_key()函數(shù)使用鍵名比較計(jì)算數(shù)組的差集,將array1的密鑰與array2,array3 ...等的鍵進(jìn)行比較,并返回具有差異的數(shù)組。 在array1中可用而在array2,array3等中不可用的鍵。 此函數(shù)類似于array_diff()函數(shù),只不過(guò)比較是基于鍵而不是值進(jìn)行的。
array array_diff_key ( array $array1, array $array2 [, array $...] );
序號(hào) | 參數(shù)及說(shuō)明 |
---|---|
1 | array1(必填) 將與第一個(gè)數(shù)組進(jìn)行比較。 |
2 | array2(必填) 它是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
3 | array3(可選) 它是一個(gè)要與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組 |
array_diff_key() 返回一個(gè)數(shù)組,該數(shù)組包括了所有出現(xiàn)在 array1 中但是未出現(xiàn)在任何其它參數(shù)數(shù)組中的鍵名的值。
此函數(shù)在PHP版本5.1.0中首次引入
此示例返回4和5值,因?yàn)榍叭齻€(gè)鍵(0、1和2)在兩個(gè)數(shù)組中相同,盡管它們的值不同
<?php $input1 = array(1, 2, 3, 4, 5); $input2 = array(4, 5, 6); $result = array_diff_key($input1, $input2); print_r($result); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [3] => 4 [4] => 5 )
此示例返回空數(shù)組,因?yàn)閍rray_diff_key()比較鍵而不是值,因?yàn)樗l(fā)現(xiàn)兩個(gè)數(shù)組都具有相同的鍵,盡管值不同,所以不會(huì)發(fā)現(xiàn)任何差異,結(jié)果返回空數(shù)組
<?php $input4 = array(1, 2, 3); $input5 = array(4, 5, 6); $result = array_diff_key($input4, $input5); print_r($result); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( )
以下示例示范使用array_diff_key()數(shù)組函數(shù)-
<?php $input1 = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow", "f"=>"yellow"); $input2 = array("a"=>"red","b"=>"green","c"=>"blue"); $result = array_diff_key($input1, $input2); print_r($result); ?>測(cè)試看看?/?
輸出結(jié)果:
Array ( [d] => yellow [f] => yellow )