您好,登錄后才能下訂單哦!
這篇“php怎么比較兩個數組是否相等”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“php怎么比較兩個數組是否相等”文章吧。
比較方法:1、使用“array_diff_assoc($arr1,$arr2)”語句比較兩個數組的鍵名和鍵值,返回一個差集數組;2、用“差集數組==[]”語句判斷差集數組是否為空數組,如果是空數組,則表示進行比較的兩個數組相等,反之不相等。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
在php中,可以利用數組差集來判斷兩個數組是否相等。
如果兩個數組的差集為空,則這兩個數組中沒有不同的元素,即兩個數組是相等的
如果兩個數組的差集不為空,則這兩個數組中有不同的元素,即兩個數組是不相等的
那么數組差集要怎么獲取尼?可以使用array_diff_assoc()函數。
array_diff_assoc()用于比較兩個(或更多個)數組的鍵名和鍵值 ,并返回差集數組。
只有數組鍵名和鍵值都相等的兩個數組,才相等。
實現步驟:
1、使用array_diff_assoc()獲取數組差集
<?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"); $arr3=array("a"=>"red","b"=>"green","c"=>"blue"); $diff1=array_diff_assoc($arr1,$arr2); var_dump($diff1); $diff2=array_diff_assoc($arr2,$arr3); var_dump($diff2); ?>
通過輸出可以看出,$arr1和$arr2有差集,而$arr2和$arr3沒有差集
2、判斷差集數組是否為空數組
if($diff1==[]){ echo "兩數組相等<br>"; } else{ echo "兩數組不相等<br>"; }
因為$arr1和$arr2的差集數組不為空數組,因此不相等
if($diff2==[]){ echo "兩數組相等<br>"; } else{ echo "兩數組不相等<br>"; }
因為$arr2和$arr3為空數組,因此相等。
擴展:將代碼封裝一下:
<?php header("content-type:text/html;charset=utf-8"); function f($arr1,$arr2){ $diff1=array_diff_assoc($arr1,$arr2); if($diff1==[]){ echo "兩數組相等<br>"; } else{ echo "兩數組不相等<br>"; } } $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"red","b"=>"green","c"=>"blue"); $arr3=array("a"=>"red","b"=>"green","c"=>"blue"); f($arr1,$arr2); f($arr2,$arr3); ?>
以上就是關于“php怎么比較兩個數組是否相等”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。