隨著學習深入,普通陣列操作已經不能滿足我了
發現接觸的陣列函式越來越多,而且都比較好用
於是專門寫下了這一編文章
刪除陣列某個鍵值
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...