array_diff() - 比較數組的鍵值,返回差集構成的數組;
array_diff_key() - 比較數組的鍵名,返回差集構成的數組;
array_diff_assoc() - 比較數組的鍵名和鍵值,返回差集構成的數組;
array_intersect() - 比較數組的鍵值,返回交集構成的數組;
array_intersect_key() - 比較數組的鍵名,返回交集構成的數組;
array_intersect_assoc() - 比較數組的鍵名和鍵值,返回交集構成的數組;
array_diff()
比較數組之間的鍵值,返回差集;
基礎語法:
array array_diff(array $array_1,array $array_2......);
array - 返回的數組,由 array_1 中,同其他數組鍵值不相同的元素構成;
array_1 - 參與比較的數組;
實例:
<?php
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_diff($a_bill_info,$a_tom_info));
#output :Array ( [name] => bill [age] => 25 );
?>
備注:
參與比較的數組數量 >= 2;
返回的數組由 array_1 中,同其他數組鍵值不同的元素構成,沒有返回空數組;
array_diff_key()
比較數組的鍵名,返回差集;
基礎語法:
array array_diff_key(array $array_1,array $array_2......);
array - 返回的數組,由 array_1 中,同其他數組鍵名不同的元素構成;
array_1 - 參與比較的元素;
實例:
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_diff_key($a_bill_info,$a_tom_info));
#output : Array ( [name] => bill );
備注:
參與比較的數組的數量 >=2;
返回的數組由 array_1 中,同其他數組 不同鍵名的元素 構成;
array_diff_assoc()
比較數組的鍵名和鍵值,返回差集;
基礎語法:
array array_diff_assoc(array $array_1 ,array $array_2......);
array - 返回的數組,由array_1 中,同其他數組鍵值不同 or 鍵名不同的元素構成;
array_1 - 用來比較的數組;
實例:
<?php
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_diff_assoc($a_bill_info,$a_tom_info));
#output : Array ( [name] => bill [age] => 25 );
?>
備注:
參與比較的數組數量 >= 2;
比較的是數組的鍵值和鍵名,只要數組的鍵值和鍵名不同,就算返回數組的元素;
array_intersect()
比較數組的鍵值,返回交集;
基礎語法:
array array_intersect(array $array_1,array $array_2......);
array - 返回的數組,由 array_1 中,同其他數組的鍵值相同的元素構成;
array_1 - 用來參與比較的數組,
實例:
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_intersect($a_bill_info,$a_tom_info));
#output : Array ( [job] => worker );
array_intersect_key()
比較數組的鍵名,返回交集;
基礎語法:
array array_intersect_key(array $array_1,array $array_2......)
array - 返回的數組,由 array_1中,同其他數組鍵名相同的元素構成;
array_1 - 參與比較的數組;
實例:
<?php
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_intersect_key($a_bill_info,$a_tom_info));
#output : Array ( [age] => 25 [job] => worker );
?>
array_intersect_assoc()
比較數組的鍵名和鍵值,返回交集;
基礎語法:
array array_intersect_assoc(array $array_1 ,array $array_2......);
array - 返回的數組,由array_1 中,同其他數組的鍵值 && 鍵名 都相同的元素構成;
實例:
<?php
$a_bill_info = array('name'=>'bill','age'=>25,'job'=>'worker');
$a_tom_info = array('first_name'=>'tom','age'=>22,'job'=>'worker');
print_r(array_intersect_assoc($a_bill_info,$a_tom_info));
#output : Array ( [job] => worker );
?>
總結:
以上的函數可以比較2個或多個數組;
返回的數組都是由 array_1 中的元素構成;