手把手教你PHP--part2

小編由於爲非法脫庫做善後,停更了幾天,向大家說聲抱歉,今天給大家帶來的是非常有營養的東西,那就是數組。

先來介紹下數組吧

一.數組

在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.




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章