header("content-type:text/html;charset=utf8");
//1. array_shift:將陣列開頭的元素移出陣列 出棧 影響原陣列
$arr=array(1,2,3,4,5,6,7,8,9);
echo array_shift($arr);
echo "
";//array_unshift(array,var) array:目標陣列,var:變數,可以多個
array_unshift($arr,5,4,2);
print_r($arr);
echo "
"; //3. array_push:向陣列末尾壓入乙個或多個元素,影響原陣列
// array_push($arr,var) array:目標陣列, var: 變數,可以多個
//注意:如果用 array_push() 來給陣列增加乙個單元,還不如用 $array = ,因為這樣沒有呼叫函式的額外負擔。
$arr=array("green","blue","white","black");
print_r($arr);
array_push($arr,"red");
print_r($arr);
echo "
"; //4. array_pop:彈出陣列末尾的乙個元素
$arr=array(1,2,3,4,566,9);
echo array_pop($arr);
echo "";
入棧array_unshift() 向陣列開頭加入乙個元素,如果鍵值為數字則重新排,為字元則不變
array_push() 向陣列末尾加入乙個元素,如果鍵值為數字則重新排,為字元則不變
出棧:array_shift() 將陣列開頭第乙個彈出,
array_pop() 將陣列末尾彈出
5. shuffle:將陣列打亂(轉換為索引陣列)
shuffle:洗牌,打亂
shuffle(array),返回布林值,影響原陣列
$arr=array(1,2,3,4,5,6,7,8,9);
shuffle($arr);
foreach($arr as $key => $value){
echo $key."=>".$value."
";echo "";
6.陣列排序
sort:對陣列進行排序(排序之後重新索引)
rsort:對陣列進行逆向排序
asort:對陣列進行排序並保持索引關係
arsort:對陣列進行逆向排序並保持索引關係
natsort:用自然順序演算法對陣列進行排序
natcasesort:natsort忽略大小寫的版本
ksort:對陣列按照鍵名進行排序
krsort:對陣列按照鍵名逆向排序
usort:使用使用者自定義的比較函式對陣列的值進行排序
uasort:使用使用者自定義的比較函式對陣列的值進行排序並保持索引關係
uksort:使用自定義的比較函式對陣列的鍵名進行排序
$arr=array(2,4,51,24,1,124,15535,14214,122);
$arr2=array('name'=>'xiaozhang','age'=>12,'height'=>'178','weight'=>'60kg');
ksort($arr);
print_r($arr);
echo "";
7. array_flip();交換鍵和值,如果同乙個值出現了多次,則最後乙個鍵名將作為它的值,所有其它的都丟失了。
echo "翻轉鍵值";
$arr=array(1,2,3,55,55,55,535);
$arr2=array_flip($arr);
print_r($arr);
print_r($arr2);
echo "";
8. array_rand:隨機從陣列中抽取乙個或多個元素的鍵
array_rand($array,num),$array:目標陣列,num:取出個數;
notice: num大於1的時候返回乙個隨機鍵的陣列,否則返回乙個隨機鍵名
$arr=array(1,2,3,4,5,6,'lev'=>'a','sda'=>366);
print_r($arr);
$arr2=array_rand($arr,2);
print_r($arr2);
echo "";
9. array_replace:使用後面的陣列中元素替換第乙個陣列中的元素
使用後面陣列元素的值替換第乙個 array 陣列的值。如果乙個鍵存在於第乙個陣列同時也存在於第二個陣列,它的值將被第二個陣列中的值替換。
如果乙個鍵存在於第二個陣列,但是不存在於第乙個陣列,則會在第乙個陣列中建立這個元素。如果乙個鍵僅存在於第乙個陣列,它將保持不變。
如果傳遞了多個替換陣列,它們將被按順序依次處理,後面的陣列將覆蓋之前的值。
$arryuan=array(
'name'=>'xiaoming',
'age'=>16,
'height'=>170,
'weight'=>'67kg',
'run'=>20
$arrti=array(
'zuoyouming'=>'i like run',
'like'=>'football',
'eat'=>'ice cream',
'name'=>'xiaohong'
$arrnew=array_replace($arryuan, $arrti);
print_r($arrnew);
echo "";
10. array_chunk(),把陣列分割為新的陣列塊。其中每個陣列的單元數目由 size 引數決定。最後乙個陣列的單元數目可能會少幾個。
array_chunk(array,size) array:目標陣列, size: 分割大小
$arr=array('name'=>'mr.li','family'=>'li','son'=>2,'menber'=>'5');
$arr2=array_chunk($arr,2);
foreach($arr2[1] as $key=> $value ){
echo $key."=>".$value."
";echo "";
11.array_slice() 陣列中根據條件取出一段值,並返回,返回陣列中的選定部分。
array_slice(array,start,length,preserve) array:目標陣列,start:開始位置, length:長度 可以為負值, preserve:是否保留鍵名
不影響原陣列
$arr=array('green','blue','red','black','double');
$arr2=array_slice($arr,2);
print_r($arr);
print_r($arr2);
echo '';
12. array_splice() 刪除陣列中某段值並將其返回,(取出陣列中某段值,影響原陣列)
array_splice(array,start,length,array) array:目標陣列, start:開始位置, length:長度 可以為負值, array:可選引數,規定帶有要插入原始陣列中元素的陣列。如果只有乙個元素,則可以設定為字串,不需要設定為陣列
$arr=array('green','blue','red','black','double');
$arr2=array_splice($arr,2);
print_r($arr);
print_r($arr2);
echo '';
13. array_reverse() 函式以相反的元素順序返回陣列。函式將原陣列中的元素順序翻轉,建立新的陣列並返回。
如果第二個引數指定為 true,則元素的鍵名保持不變,否則鍵名將丟失。
注意:array_flip()是將鍵值翻轉,而array_reverse()是將元素順序翻轉(倒序)
$arr=array('color'=>'green','width'=>'138px','height'=>'50px','order'=>'desc');
$arr2=array_reverse($arr,true);
print_r($arr);
print_r($arr2);
echo "";
14. array_unique(array)函式移除陣列中的重複的值,並返回結果陣列。當幾個陣列元素的值相等時,只保留第乙個元素,其他的元素被刪除。返回的陣列中鍵名不變。
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(array_unique($a));
PHP 常用陣列函式
array shift 刪除陣列首個元素 用法 array shift arr 引數 陣列名 array pop 刪除陣列最後乙個元素 用法 array pop arr 引數 陣列名 array unshift 將指定元素插入到陣列頭部 用法 array unshift arr.aa bb cc 引...
php常用陣列處理
日常工作中經常遇到陣列處理,這裡整理一下常用的 二維陣列根據age由小到大排序 arr name 網三 age 33 name 謝四 age 22 name 趙六 age 33 name 趙1 age 23 name 趙8 age 13 usort arr,function x,y var dump...
PHP 常用陣列函式
arr array 123hhh hahaha hello world 123 var dump arr in array 函式搜尋陣列中是否存在指定的值。echo hello world是否存在於陣列arr中 in array hello world arr echo 數字123是否存在於陣列ar...