溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php中獲取多個(gè)數(shù)組差集的方法有哪些

發(fā)布時(shí)間:2021-11-08 10:36:33 來(lái)源:億速云 閱讀:428 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“php中獲取多個(gè)數(shù)組差集的方法有哪些”,在日常操作中,相信很多人在php中獲取多個(gè)數(shù)組差集的方法有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php中獲取多個(gè)數(shù)組差集的方法有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

php中獲取多個(gè)數(shù)組差集的方法有哪些

比較鍵值-array_diff函數(shù)

在PHP中內(nèi)置了array_diff函數(shù)用來(lái)通過(guò)比較鍵值的方式來(lái)比較數(shù)組,然后返回?cái)?shù)組間的差集。array_diff函數(shù)的基本語(yǔ)法格式如下:

array_diff(array1,array2,array3...);

其中需要注意的是,參數(shù)array123表示的是用來(lái)比較的數(shù)組,返回的結(jié)果差集數(shù)組,該數(shù)組中的元素包括在了第一個(gè)數(shù)組元素中。返回?cái)?shù)組是第一個(gè)數(shù)組中其他數(shù)組沒(méi)有的值,在返回的數(shù)組中鍵名保持不變。

下面我們通過(guò)示例來(lái)看一下array_diff函數(shù)的使用,示例如下:

<?php
$fruit1 = array("Apple","Banana","Orange");
$fruit2 = array("Pear","Apple","Grape");
$fruit3 = array("Watermelon","Orange","Apple");
$intersection = array_diff($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>

輸出結(jié)果:

php中獲取多個(gè)數(shù)組差集的方法有哪些

通過(guò)上述示例我們通過(guò)array_diff函數(shù),返回的結(jié)果正是數(shù)組1與其他數(shù)組的差集。也就是返回的結(jié)果正是數(shù)組1中有但是其他數(shù)組中沒(méi)有的元素。當(dāng)然了這是比較元素的鍵值,下面我們來(lái)看一下通過(guò)比較元素的鍵名,返回的結(jié)果有什么不同。

比較鍵名-array_diff_key函數(shù)

在PHP中可以通過(guò)array_intersect_key函數(shù)來(lái)比較數(shù)組間的鍵名然后返回?cái)?shù)組間的交集,與之類(lèi)似的就是array_diff_key函數(shù)能夠比較鍵名然后返回?cái)?shù)組間的差集。

array_diff_key函數(shù)的基本語(yǔ)法格式如下:

array_diff_key(array1,array2,array3...);

其中需要注意的是:參數(shù)array123表示的需要比較的數(shù)組,返回的差集數(shù)組中的元素都是數(shù)組1中的元素,但是并不在其他的數(shù)組元素中。

接下來(lái)我們通過(guò)示例來(lái)看一下array_diff_key函數(shù)的應(yīng)用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_key($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>

輸出結(jié)果:

php中獲取多個(gè)數(shù)組差集的方法有哪些

通過(guò)上述示例我們就是通過(guò)array_diff_key函數(shù)來(lái)進(jìn)行比較數(shù)組間的鍵名,然后返回差集,返回的結(jié)果正是數(shù)組1中有的鍵名但是其他的數(shù)組元素中沒(méi)有的鍵名。這是通過(guò)比較鍵名,下面我們來(lái)看一下同時(shí)比較鍵值和鍵名應(yīng)該怎樣操作。

比較鍵值與鍵名-array_diff_assoc函數(shù)

在PHP中可以通過(guò)array_intersect_assoc函數(shù)比較鍵值與鍵名,然后返回的結(jié)果是數(shù)組元素中的交集,與之類(lèi)似的就是array_diff_assoc函數(shù)它也是比較鍵值與鍵名,但是返回的結(jié)果是數(shù)組元素中的差集。

array_diff_assoc函數(shù)的基本語(yǔ)法格式如下:

array_diff_assoc(array1,array2,array3...);

其中需要注意的是:參數(shù)array123表示的需要比較的數(shù)組,通過(guò)比較鍵值與鍵名,返回的差集數(shù)組中的元素都是數(shù)組1中的元素,但是并不在其他的數(shù)組元素中。

下面我們通過(guò)示例來(lái)看一下array_diff_assoc函數(shù)的應(yīng)用,示例如下:

<?php
$fruit1 = array("a"=>"Apple","b"=>"Banana","c"=>"Orange");
$fruit2 = array("a"=>"Pear","d"=>"Apple","e"=>"Grape");
$fruit3 = array("a"=>"Watermelon","f"=>"Orange","g"=>"Apple");
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>

輸出結(jié)果:

php中獲取多個(gè)數(shù)組差集的方法有哪些

通過(guò)上述示例我們通過(guò)array_diff_assoc函數(shù)來(lái)進(jìn)行比較數(shù)組間的鍵值與鍵名,然后返回差集,返回的結(jié)果正是數(shù)組1中的元素,但是并不在其他的數(shù)組中。

到此,關(guān)于“php中獲取多個(gè)數(shù)組差集的方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

php
AI