判斷步驟:1、使用“array_intersect_assoc(數(shù)組b,數(shù)組a)”比較數(shù)組a和數(shù)組b的鍵名和鍵值,并返回一個包含相同元素的交集數(shù)組;2、使用“array_diff_assoc(交集數(shù)組,數(shù)組a)”比較數(shù)組a和交集數(shù)組的鍵名和鍵值,并返回一個包含不同元素的差集數(shù)組;3、利用“$diff==[]”判斷差集數(shù)組是否為空,若為空則數(shù)組a完全屬于數(shù)組b,反之則不完全屬于。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php判斷數(shù)組a是否完全屬于數(shù)組b
在php中,可以利用array_intersect_assoc()和array_diff_assoc() 函數(shù)來檢測數(shù)組a是否完全屬于數(shù)組b。
步驟1:利用array_intersect_assoc()函數(shù)比較數(shù)組a和數(shù)組b,取交集
array_intersect_assoc()函數(shù)會比較數(shù)組a和數(shù)組b的鍵名和鍵值,并返回一個包含相同元素的交集數(shù)組
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");; $arr2=array("a"=>"red","b"=>"green","c"=>"blue"); var_dump($arr1); var_dump($arr2); echo "交集數(shù)組:"; $intersect=array_intersect_assoc($arr1,$arr2); var_dump($intersect); ?>
步驟2:利用array_diff_assoc()函數(shù)比較數(shù)組a和交集數(shù)組,取差集
array_diff_assoc()函數(shù)會比較數(shù)組a和交集數(shù)組的鍵名和鍵值,并返回一個包含不同元素的差集數(shù)組
echo "差集數(shù)組:"; $result=array_diff_assoc($intersect,$arr2); var_dump($result);
步驟3:利用“==”運(yùn)算符判斷差集數(shù)組是否為空
$diff==[]
-
如果為空,則數(shù)組a完全屬于數(shù)組b
-
如果不為空,則數(shù)組a不完全屬于數(shù)組b
完整示例代碼:
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"red","b"=>"green","c"=>"blue"); var_dump($arr1); var_dump($arr2); echo "交集數(shù)組:"; $intersect=array_intersect_assoc($arr1,$arr2); var_dump($intersect); echo "差集數(shù)組:"; $diff=array_diff_assoc($intersect,$arr2); var_dump($diff); if($diff==[]){ echo '$arr2完全屬于$arr1'; }else{ echo '$arr2不完全屬于$arr1'; } ?>
推薦學(xué)習(xí):《PHP視頻教程》