php 陣列函式

2021-09-26 08:54:04 字數 3343 閱讀 2383

隨著學習深入,普通陣列操作已經不能滿足我了

發現接觸的陣列函式越來越多,而且都比較好用

於是專門寫下了這一編文章

刪除陣列某個鍵值

unset($key);

擷取字串

array_slice($arr,5,2); //從第5個元素開始,擷取2個元素

判斷一維陣列是否存在某值

in_array("mark", $arr)

知道鍵值獲取鍵名

key(鍵值);

分割陣列

//將arr陣列每10個資料一分割,儲存成二維陣列

array_chunk($arr,10);

過濾一維陣列裡面的空值

//例如null,,false,' '等等

array_filter($arr);

陣列出棧入棧

array_pop()					刪除陣列的最後乙個元素(出棧)。

array_push($arr, '元素1') 將乙個或多個元素插入陣列的末尾(入棧)

array_unshift($arr, '元素2') 將乙個或多個元素插入陣列的開頭

list()快速獲取陣列的值

list($a,$b)=[1,2];         結果:$a=1;$b=2;

二維陣列排序

//根據欄位last_name對陣列$data進行降序排列

$last_names = array_column($data,'last_name');

array_multisort($last_names,sort_desc,$data);

sort_asc 預設公升序

sort_desc降序

在陣列中取出一段值

$arr = [1,2,3,4];

array_slice($arr,1,2);

結果:array(2,3);

獲取一維陣列的鍵或值

//獲取一維陣列的下標key值

array_keys($arr)

//獲取一維陣列的value值

array_values($arr)

將二維陣列變一維陣列

第一種方法

//限制是php版本必須是5.5.0及以上版本!

$first_names = array_column($arr, 'name');//取key名為name的值作為乙個一維陣列

第二種方法

$names =;

array_walk($arr, function($value, $key) use (&$names));

獲取陣列的個數

count($arr);

判斷$arr是否是陣列

is_array($arr);

分割字串成陣列

//按空格分隔字串儲存成陣列

explode(" ",$str);

合併數組成字串

$arr=array('l','o','v','e');

$str=implode(" ",$arr); //之間加空格合併

結果:$str="l o v e";

字串分割成陣列

//隔2個字元分割一次,預設是1

str_split("abcd", 2); 返回array('ab', 'cd'),

檢查指定的鍵名是否存在於陣列中。

array_key_exists("key",$a)

陣列追加合併

array_push($a1,$a2 );			//a2陣列還是以陣列形式插入a1

$arr=array_merge($a1,$a2); //陣列以元素形式插入合併

取兩陣列交集

array_intersect()		比較陣列,返回交集(只比較鍵值)。

array_intersect_assoc() 比較陣列,返回交集(比較鍵名和鍵值)。

array_intersect_key() 比較陣列,返回交集(只比較鍵名)。

取兩陣列差集

array_diff()		比較陣列,返回差集(只比較鍵值)。

array_diff_assoc() 比較陣列,返回差集(比較鍵名和鍵值)。

array_diff_key() 比較陣列,返回差集(只比較鍵名)。

陣列去重

(1)array_unique()函式,它會執行地慢一些。

$arr = array_unique($arr);

$arr = array_values($arr);

//去重後,鍵值會不按順序,使用array_values把鍵值重新排序。

(2)array_flip()加array_merge()去重

$array = array('green','blue','orange','blue');

/* * 翻轉陣列,你將會得到唯一鍵值的陣列

* array('green'=>0,'blue'=>1,'orange'=>2);

*/ $array = array_flip($array);

/* * 然後再翻轉一次,將鍵和值重新放置,然後得到陣列

* array(0=>'green',1=>'blue',2=>'orange');

*/ $array = array_flip($array);

/* * 因為我們已經移除了一些元素,因此陣列看起來不是正常的序列。

* 使用array_merge()函式修復鍵值

*/ $array = array_merge($array);

(3)跟上個例子一樣,但是現在我們先提取陣列的鍵值

$array = array_flip($array);

$array = array_keys($array);

php陣列函式

1,array 建立陣列 2,range 建立範圍內的陣列 range 開始元素,結束元素,步長 3,compact 將變數轉換為陣列 key為變數的名稱,value為變數的值 name yuanwei compact name 結果array name yuanwei 4,array merge ...

PHP陣列函式

php索引以0開始 a array 0 a 1 b a array a a b b 呼叫 a a 多維陣列 a array a array a1 a1 a2 a2 輸出陣列 boolean print r var 建立陣列 1.array a array a b 2.list line a b c ...

PHP陣列函式

array 建立陣列。array change key case 把陣列中所有鍵更改為小寫或大寫。array chunk 把乙個陣列分割為新的陣列塊。array column 返回輸入陣列中某個單一列的值。array combine 通過合併兩個陣列來建立乙個新陣列。array count valu...