PHP精選數組函數

來源:互聯網
上載者:User

標籤:元素   repeat   syntax   space   foreach   count   int   word   自己的   

編程怎麼能少的了數組呢,以下是學習PHP時常用的數組處理函數。在編程中要遵循一個原則就是DRY(Don`t Repeat Yourself)原則,PHP中有大量的函數,都記住這些函數不太現實,但常用的函數還是要熟練使用的,大部分的函數的使用方法可以通過查詢PHP的手冊來使用。在編程中查手冊是少不了的,所以要會學著使用已有的東西,就如PHP中的數組處理函數已經有排序函數了,為什麼還要在寫東西是費著勁去寫冒泡或者堆排或者快排呢。

  編程是間接的過程,也是重用的過程,要寫出好的代碼是少不了設計模式來做支撐的,可能對初學者來說學習設計模式有些吃力(就像我當初看設計模式時,真是有點費勁),不過等你的代碼量有一定積累時,在研究設計模式時,感覺設計模式真的挺有用的,能協助你寫出漂亮的代碼。說著說著有點跑偏了,還是來總結一下php中對數組操作的常用函數吧。

  以下總結的數組常用的函數,可能有些讀者會感覺有些少,眾人拾柴火焰高嗎,如果感覺還有其他常用的數組處理函數,給個評論留下唄,不要吝嗇自己的知識嘛,和別人分享東西不是一件很快樂的東西嗎。還有,下面的代碼出自本人之手,不過是兩年前寫的代碼了,歡迎大家批評指正。

  1. array_splice() 刪除數組中的指定元

    array_splice(數組名,從前往後刪的個數,new一個數組的大小);沒有第三參數也就沒有返數組,沒有第三個參數時,第二個參數的意義為從前往後保留幾個

    exp:

    123456789 <?php    $my_array=array(    //建立數組        "hehe"=>"haha",        "A"=>"lu",        "lu"=>"ge"    );    $new=array_splice($my_array,1,3);    //使用array_splice(數組名,從前往後刪的個數,new一個數組的大小);    var_dump($new);?>

    結果:array(2) { ["A"]=> string(2) "lu" ["lu"]=> string(2) "ge" }

2、foreach()數組的遍曆

    用法:foreach(數組 as 鍵名=>索引值)或foreach(數組 as 索引值)

exp:

1234567891011 <?php    $my_array=array(    //建立數組        "hehe"=>"haha",        "A"=>"lu",        "lu"=>"ge"    );    foreach($my_array as $key=>$value)    {        echo $key."=>".$value."<br/>";    }?>

輸出結果:

hehe=>haha

A=>lu

lu=>ge

 

3、數組的排序

    (1)sort()和rsort()    按索引值排序sort()從小到大,rsort()從大到小

            sort ()   exp :     

12345678 <?php    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數組    sort($my_array);    foreach($my_array as $keys=>$value)    {        echo $keys."=>".$value."<br/>";    }?>

           輸出結果:

    0=>1

    1=>2
    2=>3
    3=>4
    4=>5
    5=>6
    6=>7
    7=>8
    8=>9

             rsort() exp:

12345678 <?php    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數組    rsort($my_array);    foreach($my_array as $keys=>$value)    {        echo $keys."=>".$value."<br/>";    }?>

  輸出結果:

    0=>9
    1=>8
    2=>7
    3=>6    
    4=>5
    5=>4
    6=>3
    7=>2
    8=>1

    (2).asort()和arsort()和上面的原理一樣,不過不改變鍵名和索引值的對應關係

    exp:

 

12345678 <?php    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數組    asort($my_array);    foreach($my_array as $keys=>$value)    {        echo $keys."=>".$value."<br/>";    }?>

輸出結果:

0=>1
1=>2
2=>3
7=>4
8=>5
3=>6
4=>7
5=>8
6=>9

(3)ksort()和krsort()是按鍵名的大小排序

 

4.數組的數學類函數

  • array_sum()計算數組的所有索引值的和  count()計算元素的個數

    exp:

     

    1234 <?php    $my_array=array(1,2,3,6,7,8,9,4,5);//建立數組    echo array_sum($my_array);?>

    輸出結果:45

 

5.其他函數

      • array_unique() 去除數組中的相同元素

      • in_array()檢測一個值是否在數組中(返回true和false)

      • array_search()返回的是鍵或值,返回的是索引值所對應的鍵名

      • shuffle()打亂原有的數組

      • 12345678910 <?php    $my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立數組    array_unique($my_array);//去除數組中的相同元素    var_dump($my_array);    echo "<br/>";    echo in_array(5,$my_array);    echo "<br/>";    $new=array_search(6,$my_array);//返回的是索引值所對應的鍵名    echo $new;?>

        輸出結果:

      • 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

PHP精選數組函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.