您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何比較兩個數組并返回不同元素的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php如何比較兩個數組并返回不同元素文章都會有所收獲,下面我們一起來看看吧。
比較方法:1、用“array_diff(數組1,數組2)”語句,比較鍵值;2、用“array_diff_key(數組1,數組2)”語句,比較鍵名;3、用“array_diff_assoc(數組1,數組2)”語句,同時比較數組的鍵名和鍵值。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
php比較兩個數組并返回不同元素
想要比較兩個數組,獲取不同元素,就是比較數組取差集。
在PHP中,可以使用以下函數來取差集:
array_diff()函數
array_diff_key()函數
array_diff_assoc()函數
1、array_diff()函數--比較數組的鍵值
array_diff($arr1,$arr2...)函數只比較數組的鍵值,會返回一個差集數組,差集數組中的元素是存在于被比較的數組$arr1中,但不存在于其他參數數組$arr2...中的。
示例:返回數組的不同元素
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff($arr1,$arr2); echo "兩個數組中,不同的元素為:"; var_dump($result); ?>
在上面的示例,$arr1數組和$arr2數組中只有1個鍵名不相同,以數組$arr1為準就會得到值“"c"=>"blue"
”。
2、array_diff_key()函數--比較數組的鍵名
array_diff_key($arr1,$arr2...)函數只比較數組的鍵名,同樣返回一個差集數組,差集數組中的元素是存在于被比較的數組$arr1中,但不存在于其他參數數組$arr2...中的。
示例:返回數組的不同元素
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff_key($arr1,$arr2); echo "兩個數組中,不同的元素為:"; var_dump($result); ?>
上面的示例,$arr1數組和$arr2數組中有兩個鍵名不相同,以數組$arr1為準就會得到值“"c"=>"blue"
”和“"d"=>"yellow"
”。
3、array_diff_assoc()函數--比較數組的鍵名和鍵值
array_diff_assoc($arr1,$arr2...)函數會將數組的鍵名和鍵值都進行比較,同樣返回一個差集數組,差集元素和array_diff()、array_diff_key()一樣會從被比較的數組$arr1中獲取。
示例:返回數組的不同元素
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); $result=array_diff_assoc($arr1,$arr2); echo "兩個數組中,不同的元素為:"; var_dump($result); ?>
上例中,$arr1數組和$arr2數組進行比較,有三個不相同的元素,然后以數組$arr1為準會得到值“"a"=>"red"
”、“"c"=>"blue"
”、“"d"=>"yellow"
”。
關于“php如何比較兩個數組并返回不同元素”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“php如何比較兩個數組并返回不同元素”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。