小編由於爲非法脫庫做善後,停更了幾天,向大家說聲抱歉,今天給大家帶來的是非常有營養的東西,那就是數組。
先來介紹下數組吧
一.數組
在PHP中,數組可以簡單劃分爲索引數組和關聯數組。索引數組即以0-9位數組成的下標(索引值);關聯數組則是以字符串作爲下標(鍵值);
先來創建一個索引數組:
$arr1= array(10,20,30,40,50,60);自變量方式創建數組下邊自增$arr2=[10,20,30,40];$arr3[0]=10;$arr4[1]=20;這三種方式均可以創建數組。
創建一個關聯數組:
$arr4=['name'=>'zhangsan','age'=>30,'sex'=>'man'];$arr5=('name'=>'zhangsan','age'=>30,'sex'=>'man');
打印數組:print_r($arr);查看數組中元素的個數和類型:var_dump($arr);
2 數組的遍歷方式:學過C/C++會知道可以通過for循環的方式進行數組的遍歷。在PHP提供了一個方便遍歷數組的函數
foreach($arr1 as $value){
echo "$value<br>"; //只需要遍歷元素的值參數寫成這樣既可
}
foreach($arr1 as $key => $value){
echo "$key=$value<br>";//需要遍歷元素的鍵值時寫成這樣
}
3.關於轉換的數組函數(邏輯好的可以自己寫函數代理)
json_encode($arr)將數組轉爲JSON格式的字符串; json_decode($arr)將字符串轉換爲數組。
4.預定義數組:
$_SERVER打印當前服務器信息 $_由GET方式提交到腳本的變量;$_POST 方式提交到腳本的變量;$_REQUEST兩個方式都可以提交到腳本的變量
$GLOBALS打印全局變量。
5.數組的鍵值操作
array_keys($arr)取出當前數組的索引或者鍵值組成一個新的索引數組
arrat_values($arr)取出當前數組的元素值組成一個新的索引數組
in_array($a,$arr,true)在一個數組中尋找一個元素,找到返回true否則返回false
array_flip($arr)交換當前數組的keys和values值
array_search(10,$arr)在數組中找到這個值並返回它的KEYS
arra_reverse($arr)翻轉當前的數組
6.統計數組元素個數和唯一性
count($arr)數組中元素個數;array_count_values統計數組中所有值出現的個數;array_unique()刪除數組中重複值
7.使用回調函數處理數組的函數值
array_filter()過濾數組內的數
print_r(array_filter($arr6,function($var){ //filter自己調用,每訪問一個元素就賦值給VAR
if($var==10){
return false;
}
echo "$var"; //過濾掉10這個數
return true;
}));
array_walk($arr6,function(&$var,$s,$n){//值,索引值,第三個參數
// $var=$var+$n;
// //語法默認返回值是ture
//},'100');//可以在外頭直接修改值
//print_r($arr6);//給每一個元素使用一次回調函數,做想做的操作
$arr7=[10,20,30,40,50];
$arr8=[10,15,30,35,50];
array_map(function($a1,$a2){//參數跟數組數量有關
if($a1==$a2){
echo "ok<br>";
}else{
echo "error!<br>"; //對參數數組元素進行操作並返回新值
}
}, $arr7,$arr8)
8.數組的拆分,合併,拆分
array_slice($arr,1,2,3)截取數組 第二個參數是開始截取的下標,第三個參數是截取的長度(正數從前截取,負數從後截取)第四個參數爲true時保留截取前的下標。
array_splice($arr,1,2,$arr1)先執行截取,將截取後的位置替換爲新的數組
array_combine($arr1,$arr2)將數組1的值作爲鍵值,數組2的值做爲值,組成一個新數組,注意數組元素個數要一樣。
array_merge($arr1,$arr2)將數組12聯合
array_intersect($arr1,$arr2)尋找數組12的交集組成新的數組
array_diff($arr1,$arr2)返回數組12的差集
array_push($arr,10)將參加入到數組的尾部
array_pop($arr1)將數組的最後一個數刪除
array_shift($arr1,10)在數組的頭部增加一個數
array_unshift($arr)刪除數組的第一個元素
array_rand($arr1,2)隨機給出數組的2個key值
shuffle($arr)隨機打亂數組
rang(0,20,5)快速產生數組,數組範圍0-20,步長爲5.