關於php數組的幾個基本操作(簡單描述php中的數組)

  • 1、PHP處理數組常用的幾個函數
  • 2、PHP-Array函數簡介-數組操作-php實例教程
  • 3、用自己的語言說出php中數組的常用函數和用法?
  • 4、PHP數組的幾個操作,求並集,交集,差集,數組
  • 5、php里說出數組的常用函數及用法?

一、數組操作的基本函數

數組的鍵名和值

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

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

array_flip($arr); 數組中的值與鍵名互換(如果有重複前面的會被後面的覆蓋)

in_array(“apple”,$arr); 在數組中檢索apple

array_search(“apple”,$arr); 在數組中檢索apple ,如果存在返回鍵名

array_key_exists(“apple”,$arr); 檢索給定的鍵名是否存在數組中

isset($arr[apple]): 檢索給定的鍵名是否存在數組中

數組的內部指針

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

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

key($arr); 返回數組中當前單元的鍵名

prev($arr); 將數組中的內部指針倒回一位

next($arr); 將數組中的內部指針向前移動一位

end($arr); 將數組中的內部指針指向最後一個單元

reset($arr; 將數組中的內部指針指向第一個單元

each($arr); 將返回數組當前元素的一個鍵名/值的構造數組,並使數組指針向前移動一位

list($key,$value)=each($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); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)

array_filter($arr,”function”); 使用回調函數過濾數組中的每個元素,如果回調函數為TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變

array_reduce($arr,”function”,”*”); 轉化為單值函數(*為數組的第一個值)

六、數組的排序

通過元素值對數組排序

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

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

usort($arr,”function”); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)忽略鍵名的數組排序

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

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

uasort($arr,”function”); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)保留鍵名的數組排序

通過鍵名對數組排序

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

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

uksort($arr,”function”); 使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)

自然排序法排序

natsort($arr); 自然排序(忽略鍵名)

natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)

七、數組的計算

數組元素的求和

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

數組的合併

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

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

array_merge_recursive($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); 移除數組中重複的值,新的數組中會保留原始的鍵名

array_reverse($arr,TRUE); 返回一個單元順序與原數組相反的數組,如果第二個參數為TRUE保留原來的鍵名

//srand((float)microtime()*10000000); 隨機種子觸發器

array_rand($arr,2); 從數組中隨機取出一個或 多個元素

shuffle($arr); 將數組的順序打亂

求課吧有很多關於PHP編程方面的教程

count()計算數組中的元素數目或對象中的屬性個數。3current()返回數組中的當前元素。3each()返回數組中當前的鍵/值對並將數組指針向前移動一步。3end()將數組的內部指針指向最後一個元素。3extract()從數組中將變數導入到當前的符號表。3in_array()檢查數組中是否存在指定的值。4key()從關聯數組中取得鍵名。3krsort()對數組按照鍵名逆向排序。3ksort()對數組按照鍵名排序。3list()把數組中的值賦給一些變數。3natcasesort()用「自然排序」演算法對數組進行不區分大小寫字母的排序。4natsort()用「自然排序」演算法對數組排序。4next()將數組中的內部指針向前移動一位。3pos()current()

的別名。3prev()將數組的內部指針倒回一位。3range()建立一個包含指定範圍的元素的數組。3reset()將數組的內部指針指向第一個元素。3rsort()對數組逆向排序。3shuffle()把數組中的元素按隨機順序重新排列。3sizeof()count()

的別名。3sort()對數組排序。3uasort()使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯。3uksort()使用用戶自定義的比較函數對數組中的鍵名進行排序。3usort()使用用戶自定義的比較函數對數組中的值進行排序。3

array_filter : 過濾數組中的無效元素,可以使用回調函數過濾

array_map : 使用回調函數依次處理所有元素

implode: 將一維數組轉為特定符號隔開的字元串,

explode:  將特定符號隔開的字元串轉為一維數組

sort /ksort: 將數組進行升序排序

array_unique: 將數組元素去重

array_values:  取數組的值,重新組成新數組

array_pop: 取數組末尾元素並刪除(隊列)

array_push:將一個元素插入數組末尾(隊列)

array_sum:統計數組元素的和

array_column:將二維數組中的指定KEY取出組成一個一維數組

網頁鏈接

PHP數組的幾個操作,求並集,交集,差集,數組與字元串的相互轉換及數組去重

在php中如果我想要對兩個數組進行如並集、交集和差集操作,我們可直接使用php自帶的函數來操作如array_merge(),array_intersect(),array_diff().

計算數組的合併 array_merge與「+」的區別

array_merge() 函數把兩個或多個數組合併為一個數組。

如果鍵名有重複,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的),如果數組是數字索引的,則鍵名會以連續方式重新索引。

注釋:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引.代碼如下:

$a = array(1 = ‘a’, ‘b’, ‘c’);

$b = array(1 = ‘aa’, 2, ‘c’);

$union = array_merge($a, $b);

$plus = $a + $b;

print_r($union);

print_r($plus);

//結果依次為:

Array

{

[0]= a

[1]= b

[2]= c

[3]= aa

[4]= 2

[5]= c

}

Array

(

[1] = a

[2] = b

[3] = c

)

要合併的兩個數組中有相同的字元串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用「+」合併數組則會和用「+」號合併數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:

$a2 = array(‘str’ = ‘a’, ‘b’, ‘c’);

$b2 = array(‘str’ = ‘aa’, 2, ‘c’);

$union2 = array_merge($a2, $b2);

$plus2 = $a2 + $b2;

print_r($union2);

print_r($plus2);

//結果依次為:

Array

(

[str] = aa

[0] = b

[1] = c

[2] = 2

[3] = c

)

Array

(

[str] = a

[0] = b

[1] = c

)

注:如果想用array_merge合併兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉

計算數組的交集

array_intersect() 函數返回兩個或多個數組的交集數組,結果數組包含了所有在被比較數組中,也同時出現在所有其他參數數組中的值,鍵名保留不變,注釋:僅有值用於比較,代碼如下:

$a = array(‘jpg’,’png’,’gif’,’bmp’);

$b = array(‘JPG’,’txt’,’docx’,’bmp’);

$intersection = array_intersect($a, $b);

還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:

$intersection2 = array_intersect(array_map(‘strtolower’,$a), array_map(‘strtolower’,$b));

print_r($intersection);

print_r($intersection2);

//結果依次為:

Array

(

[3] = bmp

)

Array (

[0] = jpg

[3] = bmp

)

計算數組的差集,代碼如下:

$old = array(‘jpg’,’png’,’gif’,’bmp’);

$new = array(‘JPG’,’txt’,’docx’,’bmp’);

$difference = array_diff($old, $new);

注:返回結果的元素包含$old的元素,不包括$new的元素

print_r($difference);

結果為:

Array

(

[0] = jpg

[1] = png

[2] = gif

)

也可以用函數先進行處理,再計算差集

array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值,在返回的數組中,鍵名保持不變。

語法:array_diff(array1,array2,array3…)

代碼如下:

$difference = array_diff(array_map(‘strtolower’,$old),

array_map(‘strtolower’,$new));

數組轉換為字元串:

?php

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

echo implode(” “,$arr);

?

字元串轉換為數組:

?php

$str=”1432532 ,4444″;

$arr = explode(“,”,$str);

echo count($arr).”/br”;

print_r($arr);

?

數組元素值去重

?php

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

print_r(

array_unique($a)

);

?

針對有空格的字元串轉換成無空格的字元串

?php

$str=”1432532 ,67878″;

$arr = explode(“,”,$str);

//echo count($arr).”/br”;

$str_u=”;

for($i=0;$icount($arr);$i++)

{

$str_u .=trim($arr[$i]).’,’;

}

echo $str_u;

?

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()

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
M8ZWL的頭像M8ZWL
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相關推薦

  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 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滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

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

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

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

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

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29

發表回復

登錄後才能評論