php數組求交集,php 數組取交集

本文目錄一覽:

PHP兩個數組的交集?

你這個搞得是不是太複雜了。請使用array_diff比較數組,返回不同,再計算交集。

PHP中的常用數組操作方法有哪些

PHP中的常用數組操作方法(每種都給你舉個2個例子)

一、數組操作的基本函數

數組的鍵名和值

array_values($arr);  獲得數組的值

array_keys($arr);  獲得數組的鍵名

數組的內部指針

current($arr);  返回數組中的當前單元

pos($arr);  返回數組中的當前單元

數組和變數之間的轉換

extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值

註:(第二個參數很重要,可以看手冊使用)使用方法

echo $a;compact(var1,var2,var3);用給定的變數名創建一個數組

二、數組的分段和填充

數組的分段

array_slice($arr,0,3);  可以將數組中的一段取出,此函數忽略鍵名

array_splice($arr,0,3,array(“black”,”maroon”));  可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除

分割多個數組

array_chunk($arr,3,TRUE);  可以將一個數組分割成多個,TRUE為保留原數組的鍵名

數組的填充

array_pad($arr,5,’x’);  將一個數組填補到制定長度

三、數組與棧

array_push($arr,”apple”,”pear”);  將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數

array_pop($arr);  將數組棧的最後一個元素彈出(出棧)

四、數組與列隊

array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)

array_unshift($arr,”a”,array(1,2));在數組的開頭插入一個或多個元素

五、回調函數

array_walk($arr,’function’,’words’);  使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)

array_mpa(“function”,$arr1,$arr2);  可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)

六、數組的排序

通過元素值對數組排序

sort($arr);  由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序

rsort($arr);  由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序

通過鍵名對數組排序

ksort($arr);  按照鍵名正序排序

krsort($arr);  按照鍵名逆序排序

七、數組的計算

數組元素的求和

array_sum($arr);  對數組內部的所有元素做求和運算

數組的合併

array_merge($arr1,$arr2);  合併兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)

「+」$arr1+$arr2;  對於相同的鍵名只保留後一個

數組的差集

array_diff($arr1,$arr2);  返回差集結果數組

array_diff_assoc($arr1,$arr2,$arr3);  返回差集結果數組,鍵名也做比較

數組的交集

array_intersect($arr1,$arr2);  返回交集結果數組

array_intersect_assoc($arr1,$arr2);  返回交集結果數組,鍵名也做比較

八、其他的數組函數

range(0,12);  創建一個包含指定範圍單元的數組

array_unique($arr);  移除數組中重複的值,新的數組中會保留原始的鍵名

php里說出數組的常用函數及用法?

PHP常用操作數組的函數

變數和數組的轉換

compact() 將變數整合成數組

extract() 將數組中的每個值以鍵的名分解成變數

變數和字元串轉換

explode() 以某個子串分解字元串成數組

implode() 將一維數組根據某個符號拼接成字元串

數組與數組之間關係

array_merge() 合併/並集

array_diff() 差集

array_intersect() 交集

數組值的操作

array_pop() 刪除(彈出)數組最後一個值

array_push() 向數組中追加一個值

判斷數組是否存在數組中

in_array() 判斷一個值是否存在數組中

array_key_exists() 判斷鍵是否存在數組中

數組去重

array_unique() 數組去重

獲取二維數組中的值的集合

array_column() 獲取二維數組中的值的集合

提取數組的鍵與值

array_values 提取數組的值構成一維數組

array_keys 提取數組的鍵構成一維數組

返回數組中的隨機的鍵

array_rand() 返回數組中的隨機的鍵

返回數組中值的數量

count() 返回數組中值的和

查詢數組中的值

array_search() 查詢數組中的值是否存在/in_array()有點相似

排序

sort() 排序有很多種,按鍵或值升降序

array_multisort() 多維數組排序

分割數組

array_chunk()

php 常用的數組函數都有哪些? 作用是什麼?有什麼特點? 怎麼使用?

php常用的數組函數的作用特點如下:

array_change_key_case       — 返回字元串鍵名全為小寫或大寫的數組

array_chunk                 — 將一個數組分割成多個

array_combine           — 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

array_count_values      — 統計數組中所有的值出現的次數

array_diff_assoc        — 帶索引檢查計算數組的差集

array_diff_key          — 使用鍵名比較計算數組的差集

array_diff_uassoc       — 用用戶提供的回調函數做索引檢查來計算數組的差集

array_diff_ukey         — 用回調函數對鍵名比較計算數組的差集

array_diff              — 計算數組的差集

array_fill_keys         — 使用指定的鍵和值填充數組

array_fill              — 用給定的值填充數組

array_filter            — 用回調函數過濾數組中的單元

array_flip              — 交換數組中的鍵和值

array_intersect_assoc   — 帶索引檢查計算數組的交集

array_intersect_key     — 使用鍵名比較計算數組的交集

array_intersect_uassoc  — 帶索引檢查計算數組的交集,用回調函數比較索引

array_intersect_ukey    — 用回調函數比較鍵名來計算數組的交集

array_intersect         — 計算數組的交集

array_key_exists        — 檢查給定的鍵名或索引是否存在於數組中

array_keys              — 返回數組中所有的鍵名

array_map               — 將回調函數作用到給定數組的單元上

array_merge_recursive   — 遞歸地合併一個或多個數組

array_merge             — 合併一個或多個數組

array_multisort         — 對多個數組或多維數組進行排序

array_pad               — 用值將數組填補到指定長度

array_pop               — 將數組最後一個單元彈出(出棧)

array_product           — 計算數組中所有值的乘積

array_push              — 將一個或多個單元壓入數組的末尾(入棧)

array_rand              — 從數組中隨機取出一個或多個單元

array_reduce            — 用回調函數迭代地將數組簡化為單一的值

array_replace_recursive — 使用傳遞的數組遞歸替換第一個數組的元素

array_replace           — 使用傳遞的數組替換第一個數組的元素

array_reverse           — 返回一個單元順序相反的數組

array_search            — 在數組中搜索給定的值,如果成功則返回相應的鍵名

array_shift             — 將數組開頭的單元移出數組

array_slice             — 從數組中取出一段

array_splice            — 把數組中的一部分去掉並用其它值取代

array_sum               — 計算數組中所有值的和

array_udiff_assoc       — 帶索引檢查計算數組的差集,用回調函數比較數據

array_udiff_uassoc      — 帶索引檢查計算數組的差集,用回調函數比較數據和索引

array_udiff             — 用回調函數比較數據來計算數組的差集

array_uintersect_assoc  — 帶索引檢查計算數組的交集,用回調函數比較數據

array_uintersect_uassoc — 帶索引檢查計算數組的交集,用回調函數比較數據和索引

array_uintersect        — 計算數組的交集,用回調函數比較數據

array_unique            — 移除數組中重複的值

array_unshift           — 在數組開頭插入一個或多個單元

array_values            — 返回數組中所有的值

array_walk_recursive    — 對數組中的每個成員遞歸地應用用戶函數

array_walk              — 對數組中的每個成員應用用戶函數

array                   — 新建一個數組

arsort                  — 對數組進行逆向排序並保持索引關係

asort                   — 對數組進行排序並保持索引關係

compact                 — 建立一個數組,包括變數名和它們的值

count                   — 計算數組中的單元數目或對象中的屬性個數

current                 — 返回數組中的當前單元

each                    — 返回數組中當前的鍵/值對並將數組指針向前移動一步

end                     — 將數組的內部指針指向最後一個單元

extract                 — 從數組中將變數導入到當前的符號表

in_array                — 檢查數組中是否存在某個值

key                     — 從關聯數組中取得鍵名

krsort                  — 對數組按照鍵名逆向排序

ksort                   — 對數組按照鍵名排序

list                    — 把數組中的值賦給一些變數

natcasesort             — 用「自然排序」演算法對數組進行不區分大小寫字母的排序

natsort                 — 用「自然排序」演算法對數組排序

next                    — 將數組中的內部指針向前移動一位

pos                     — current 的別名

prev                    — 將數組的內部指針倒回一位

range                   — 建立一個包含指定範圍單元的數組

reset                   — 將數組的內部指針指向第一個單元

rsort                   — 對數組逆向排序

shuffle                 — 將數組打亂

sizeof                  — count 的別名

sort                    — 對數組排序

uasort                  — 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯

uksort                  — 使用用戶自定義的比較函數對數組中的鍵名進行排序

usort                   — 使用用戶自定義的比較函數對數組中的值進行排序

關於如何使用,那是要根據使用者需求來衡量,不能一言概括

使用語法如下:

?php

    $arr = array(‘Hello’,’World!’);

    $arr = implode(‘,’,$arr);

    

    echo $arr;

?

結果是:HelloWorld!

如果你想更多的了解php的數組函數,我建議你詳細地去看看php手冊

php手冊官網:

php 多個多維數組求交集

array_intersect

(PHP 4 = 4.0.1, PHP 5)

array_intersect — 計算數組的交集說明

array array_intersect ( array array1, array array2 [, array …])

array_intersect() 返回一個數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。注意鍵名保留不變。

例子 1. array_intersect() 例子

?php

$array1 = array (“a” = “green”, “red”, “blue”);

$array2 = array (“b” = “green”, “yellow”, “red”);

$result = array_intersect ($array1, $array2);

?

這使得 $result 成為:

Array

(

[a] = green

[0] = red

)

注: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字元串的表達是一樣的時候。

array_diff

(PHP 4 = 4.0.1, PHP 5)

array_diff — 計算數組的差集說明

array array_diff ( array array1, array array2 [, array …])

array_diff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。

例子 1. array_diff() 例子

?php

$array1 = array (“a” = “green”, “red”, “blue”, “red”);

$array2 = array (“b” = “green”, “yellow”, “red”);

$result = array_diff ($array1, $array2);

?

這使得 $result 成為 array (1 = “blue”);。在 $array1 中多次出現的值同樣對待。

注: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字元串的表達是一樣的時候。

注: 注意此函數僅檢查多維數組中的一維。當然你可以用 array_diff($array1[0], $array2[0]); 檢查更深的維度。

array_diff_assoc — 帶索引檢查計算數組的差集

說明

array array_diff_assoc ( array array1, array array2 [, array …])

array_diff_assoc() 返回一個 array,返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意和 array_diff() 不同的是鍵名也用於比較。

例子 1. array_diff_assoc() 例子

?php

$array1 = array (“a” = “green”, “b” = “brown”, “c” = “blue”, “red”);

$array2 = array (“a” = “green”, “yellow”, “red”);

$result = array_diff_assoc($array1, $array2);

?

上面的例子中可以看到鍵值對 “a” = “green” 在兩個數組中都有,因此不在本函數的輸出中。與此不同,鍵值對 0 = “red” 出現在輸出中是因為第二個參數中的 “red” 的鍵名是 1。

鍵值對 key = value 中的兩個值僅在 (string) $elem1 === (string) $elem2 時被認為相等。也就是說使用了嚴格檢查,字元串的表達必須相同。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152882.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-13 06:08
下一篇 2024-11-13 06:08

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括弧

    在Python中,被中括弧包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括弧。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字元串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • Python數組隨機分組用法介紹

    Python數組隨機分組是一個在數據分析與處理中常用的技術,它可以將一個大的數據集分成若干組,以便於進行處理和分析。本文將從多個方面對Python數組隨機分組進行詳細的闡述,包括使…

    編程 2025-04-28
  • Python數組索引位置用法介紹

    Python是一門多用途的編程語言,它有著非常強大的數據處理能力。數組是其中一個非常重要的數據類型之一。Python支持多種方式來操作數組的索引位置,我們可以從以下幾個方面對Pyt…

    編程 2025-04-28

發表回復

登錄後才能評論