您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何取兩個(gè)數(shù)組的不同值的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇php如何取兩個(gè)數(shù)組的不同值文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
3種取不同值的方法:1、比較數(shù)組鍵值并返回一個(gè)包含不同值的差集數(shù)組,語(yǔ)法“array_diff(數(shù)組1,數(shù)組2)”。2、比較數(shù)組鍵名并返回一個(gè)包含不同值的差集數(shù)組,語(yǔ)法“array_diff_key(數(shù)組1,數(shù)組2)”。3、比較數(shù)組的鍵名和鍵值,并返回一個(gè)包含不同值的差集數(shù)組,語(yǔ)法“array_diff_assoc(數(shù)組1,數(shù)組2)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php獲取兩個(gè)數(shù)組不同值,就是比較兩個(gè)數(shù)組,獲取差集。
而PHP比較數(shù)組有三種情況:只比較鍵值、只比較鍵名、比較鍵值和鍵名。分別對(duì)應(yīng)三個(gè)內(nèi)置函數(shù):
array_diff()
array_diff_key()
array_diff_assoc()
下面我們通過(guò)示例來(lái)了解一下:
1、使用array_diff()函數(shù)--比較數(shù)組的鍵值
array_diff() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的值,并返回差集。
array_diff(array1,array2,array3...);
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的值(key=>value 中的 value),并返回一個(gè)差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,但是不在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的值。
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(1,2,3,4,5,6); $arr2=array(2,4,6,8,10,12); var_dump($arr1); var_dump($arr2); echo "兩個(gè)數(shù)組的不同值:"; $result=array_diff($arr1,$arr2); var_dump($result); ?>
2、使用array_diff_key()函數(shù)--比較數(shù)組的鍵名
array_diff_key() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名 ,并返回差集。
array_diff_key(array1,array2,array3...);
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名,并返回一個(gè)差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,但是不在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名。
<?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); echo "兩個(gè)數(shù)組的不同值:"; $result=array_diff_key($arr1,$arr2); var_dump($result); ?>
而在上面的示例,$arr1數(shù)組和$arr2數(shù)組中有兩個(gè)鍵名不相同,以數(shù)組$arr1為準(zhǔn)就會(huì)得到值“"c"=>"blue"
”和“"d"=>"yellow"
”,因此輸出的結(jié)果為:
3、使用array_diff_assoc()函數(shù)--比較數(shù)組的鍵名和鍵值
array_diff_assoc() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值 ,并返回差集。
array_diff_assoc(array1,array2,array3...);
該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值,并返回一個(gè)差集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,但是不在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。
<?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); echo "兩個(gè)數(shù)組的不同值:"; $result=array_diff_assoc($arr1,$arr2); var_dump($result); ?>
上例中,$arr1數(shù)組和$arr2數(shù)組進(jìn)行比較,有三個(gè)不相同的元素,然后以數(shù)組$arr1為準(zhǔn)會(huì)得到值“"a"=>"red"
”、“"c"=>"blue"
”、“"d"=>"yellow"
”,因此輸出的結(jié)果為:
關(guān)于“php如何取兩個(gè)數(shù)組的不同值”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“php如何取兩個(gè)數(shù)組的不同值”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。