php常用數(shù)組函數(shù)介紹

字號:


    編程怎么能少的了數(shù)組呢,以下是學(xué)習(xí)php時常用的數(shù)組處理函數(shù)。在編程中要遵循一個原則就是dry(don`t repeat yourself)原則,php中有大量的函數(shù),都記住這些函數(shù)不太現(xiàn)實,但常用的函數(shù)還是要熟練使用的,大部分的函數(shù)的使用方法可以通過查詢php的手冊來使用。
    在編程中查手冊是少不了的,所以要會學(xué)著使用已有的東西,就如php中的數(shù)組處理函數(shù)已經(jīng)有排序函數(shù)了,為什么還要在寫東西是費著勁去寫冒泡或者堆排或者快排呢。
    編程是間接的過程,也是重用的過程,要寫出好的代碼是少不了設(shè)計模式來做支撐的,可能對初學(xué)者來說學(xué)習(xí)設(shè)計模式有些吃力(就像我當(dāng)初看設(shè)計模式時,真是有點費勁),不過等你的代碼量有一定積累時,在研究設(shè)計模式時,感覺設(shè)計模式真的挺有用的,能幫助你寫出漂亮的代碼。說著說著有點跑偏了,還是來總結(jié)一下php中對數(shù)組操作的常用函數(shù)吧。
    以下總結(jié)的數(shù)組常用的函數(shù),可能有些讀者會感覺有些少,眾人拾柴火焰高嗎,如果感覺還有其他常用的數(shù)組處理函數(shù),給個評論留下唄,不要吝嗇自己的知識嘛,和別人分享東西不是一件很快樂的東西嗎。還有,下面的代碼出自本人之手,不過是兩年前寫的代碼了,歡迎大家批評指正。
    array_splice() 刪除數(shù)組中的指定元
    array_splice(數(shù)組名,從前往后刪的個數(shù),new一個數(shù)組的大小);沒有第三參數(shù)也就沒有返數(shù)組,沒有第三個參數(shù)時,第二個參數(shù)的意義為從前往后保留幾個
    exp:
    $my_array=array( //建立數(shù)組
    hehe=>haha,
    a=>lu,
    lu=>ge
    );
    $new=array_splice($my_array,1,3); //使用array_splice(數(shù)組名,從前往后刪的個數(shù),new一個數(shù)組的大小);
    var_dump($new);
    ?>
    結(jié)果:array(2) { [a]=> string(2) lu [lu]=> string(2) ge }
    2、foreach()數(shù)組的遍歷
    用法:foreach(數(shù)組 as 鍵名=>鍵值)或foreach(數(shù)組 as 鍵值)
    exp:
    $my_array=array( //建立數(shù)組
    hehe=>haha,
    a=>lu,
    lu=>ge
    );
    foreach($my_array as $key=>$value)
    {
    echo $key.=>.$value.
    ;
    }
    ?>
    輸出結(jié)果:
    hehe=>haha
    a=>lu
    lu=>ge
    3、數(shù)組的排序
    (1)sort()和rsort() 按鍵值排序sort()從小到大,rsort()從大到小
    sort () exp :
    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數(shù)組
    sort($my_array);
    foreach($my_array as $keys=>$value)
    {
    echo $keys.=>.$value.
    ;
    }
    ?>
    輸出結(jié)果:
    0=>1
    1=>2
    2=>3
    3=>4
    4=>5
    5=>6
    6=>7
    7=>8
    8=>9
    rsort() exp:
    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數(shù)組
    rsort($my_array);
    foreach($my_array as $keys=>$value)
    {
    echo $keys.=>.$value.
    ;
    }
    ?>
    輸出結(jié)果:
    0=>9
    1=>8
    2=>7
    3=>6
    4=>5
    5=>4
    6=>3
    7=>2
    8=>1
    (2).asort()和arsort()和上面的原理一樣,不過不改變鍵名和鍵值的對應(yīng)關(guān)系
    exp:
    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數(shù)組
    asort($my_array);
    foreach($my_array as $keys=>$value)
    {
    echo $keys.=>.$value.
    ;
    }
    ?>
    輸出結(jié)果:
    0=>1
    1=>2
    2=>3
    7=>4
    8=>5
    3=>6
    4=>7
    5=>8
    6=>9
    (3)ksort()和krsort()是按鍵名的大小排序
    4.數(shù)組的數(shù)學(xué)類函數(shù)
    array_sum()計算數(shù)組的所有鍵值的和 count()計算元素的個數(shù)
    exp:
    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數(shù)組
    echo array_sum($my_array);
    ?>
    輸出結(jié)果:45
    5.其他函數(shù)
    array_unique() 去除數(shù)組中的相同元素
    in_array()檢測一個值是否在數(shù)組中(返回true和false)
    array_search()返回的是鍵或值,返回的是鍵值所對應(yīng)的鍵名
    shuffle()打亂原有的數(shù)組
    $my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立數(shù)組
    array_unique($my_array);//去除數(shù)組中的相同元素
    var_dump($my_array);
    echo
    ;
    echo in_array(5,$my_array);
    echo
    ;
    $new=array_search(6,$my_array);//返回的是鍵值所對應(yīng)的鍵名
    echo $new;
    ?>
    輸出結(jié)果:
    array(12) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(6) [4]=> int(7) [5]=> int(8) [6]=> int(9) [7]=> int(4) [8]=> int(5) [9]=> int(5) [10]=> int(5) [11]=> int(5) }
    1
    3