判斷步驟:1、使用「array_intersect_assoc(數組b,數組a)」比較數組a和數組b的鍵名和鍵值,並傳回一個包含相同元素的交集數組;2、使用「array_diff_assoc(交集數組,數組a)」比較數組a和交集數組的鍵名和鍵值,並傳回一個包含不同元素的差集數組;3、利用「$diff==[]」判斷差集數組是否為空,若為空則數組a完全屬於數組b,反之則不完全屬於。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php判斷陣列a是否完全屬於陣列b
在php中,可以利用array_intersect_assoc()和array_diff_assoc() 函數來偵測陣列a是否完全屬於陣列b。
步驟1:利用array_intersect_assoc()函數比較數組a和數組b,取交集
array_intersect_assoc()函數會比較數組a和數組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 "交集数组:"; $intersect=array_intersect_assoc($arr1,$arr2); var_dump($intersect); ?>
#步驟2:利用array_diff_assoc()函數比較陣列a和交集數組,取差集
array_diff_assoc()函數會比較數組a和交集數組的鍵名和鍵值,並傳回一個包含不同元素的差集數組
echo "差集数组:"; $result=array_diff_assoc($intersect,$arr2); var_dump($result);
步驟3:利用「==」運算子判斷差集陣列是否為空
#$diff==[]
如果為空,則數組a完全屬於數組b
如果不為空,則數組a不完全屬於數組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 "交集数组:"; $intersect=array_intersect_assoc($arr1,$arr2); var_dump($intersect); echo "差集数组:"; $diff=array_diff_assoc($intersect,$arr2); var_dump($diff); if($diff==[]){ echo '$arr2完全属于$arr1'; }else{ echo '$arr2不完全属于$arr1'; } ?>
推薦學習:《PHP影片教學》
以上是php怎麼判斷數組a是否完全屬於數組b的詳細內容。更多資訊請關注PHP中文網其他相關文章!