PHP中怎么比較兩個(gè)數(shù)組求差集,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
10年積累的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有靖遠(yuǎn)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、使用array_diff()函數(shù)--比較數(shù)組的鍵值
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); $result=array_diff($arr1,$arr2); var_dump($result); ?>
array_diff($arr1,$arr2...)
函數(shù)只比較數(shù)組的鍵值,會(huì)返回一個(gè)差集數(shù)組,差集數(shù)組中的元素是存在于被比較的數(shù)組$arr1
中,但不存在于其他參數(shù)數(shù)組$arr2...
中的。
我們來看看上面的示例,$arr1
數(shù)組和$arr2
數(shù)組比較,只存在于$arr1數(shù)組的鍵值只有:“blue
”,因此輸出的結(jié)果為:
2、使用array_diff_key()函數(shù)--比較數(shù)組的鍵名
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); $result=array_diff_key($arr1,$arr2); var_dump($result); ?>
array_diff_key($arr1,$arr2...)
函數(shù)只比較數(shù)組的鍵名,同樣返回一個(gè)差集數(shù)組,差集數(shù)組中的元素是存在于被比較的數(shù)組$arr1
中,但不存在于其他參數(shù)數(shù)組$arr2...
中的。
而在上面的示例,$arr1
數(shù)組和$arr2
數(shù)組中有兩個(gè)鍵名不相同,以數(shù)組$arr1
為準(zhǔn)就會(huì)得到值“"c"=>"blue"
”和“"d"=>"yellow"
”,因此輸出的結(jié)果為:
3、使用array_diff_assoc()函數(shù)--比較數(shù)組的鍵名和鍵值
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); $result=array_diff_assoc($arr1,$arr2); var_dump($result); ?>
array_diff_assoc($arr1,$arr2...)
函數(shù)會(huì)將數(shù)組的鍵名和鍵值都進(jìn)行比較,同樣返回一個(gè)差集數(shù)組,差集元素和array_diff()、array_diff_key()一樣會(huì)從被比較的數(shù)組$arr1
中獲取。
上例中,$arr1
數(shù)組和$arr2
數(shù)組進(jìn)行比較,有三個(gè)不相同的元素,然后以數(shù)組$arr1為準(zhǔn)會(huì)得到值“"a"=>"red"
”、“"c"=>"blue"
”、“"d"=>"yellow"
”,因此輸出的結(jié)果為:
看完上述內(nèi)容,你們掌握PHP中怎么比較兩個(gè)數(shù)組求差集的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!