天天看點

php 數組 添加元素、删除元素

原文位址:http://blog.163.com/[email protected]/blog/static/16290113820124411231846/

拆分數組

PHP數組添加一個元素的方式: push(),   arr[],

Php代碼

  1. $arr = array();
  2. array_push($arr, el1, el2 ... eln);

但其實有一種更直接友善的做法:

Php代碼

  1. $arr = array();
  2. $arr[] = el1;
  3. $arr[] = el2;
  4. ...
  5. $arr[] = eln;

而且有實驗證明,第二種方法的效率比第一種方法高出将近一倍!

我們來看下面的例子:

Php代碼

  1. $t = microtime(true);
  2. $array = array();
  3. for($i = 0; $i < 10000; $i++) {
  4. $array[] = $i;
  5. }
  6. print microtime(true) - $t;
  7. print '<br>';
  8. $t = microtime(true);
  9. $array = array();
  10. for($i = 0; $i < 10000; $i++) {
  11. array_push($array, $i);
  12. }
  13. print microtime(true) - $t;

運作腳本,結果為:

寫道 Run 1  

0.0054171085357666 // array_push  

0.0028800964355469 // array[]  

Run 2  

0.0054559707641602 // array_push  

0.002892017364502 // array[]  

Run 3  

0.0055501461029053 // array_push  

0.0028610229492188 // array[]

其他方法:

1.在數組末尾添加一個或多個元素。

  array_push() 将 array 當成一個棧,并将傳入的變量壓入 array 的末尾。array 的長度将根據入棧變量的數目增加。

  php代碼執行個體:

  <?php

    $arr1 = array("a", "b");

    array_push($arr1, "c", "d");

    print_r($arr1);

  ?>

  運作結果:

   Array

  (

   [0] => a

   [1] => b

   [2] => c

   [3] => d

  )

  注:如果第一個參數不是數組,array_push() 将發出一條警告。

2.删除數組末尾的一個元素。

  array_pop() 彈出并傳回 array 數組的最後一個單元,并将數組 array 的長度減一。如果 array 為空(或者不是數組)将傳回 NULL。

  php代碼執行個體:

  <?php

    $arr1 = array("a", "b","c","d");

    array_pop($arr1);

    print_r($arr1);

  ?>

  運作結果:

   Array

  (

   [0] => a

   [1] => b

   [2] => c

  )  

3.在數組的開始添加一個或多個元素。

   array_unshift() 将傳入的單元插入到 array 數組的開頭。注意單元是作為整體被插入的,是以傳入單元将保持同樣的順序。所有的數值鍵名将修改為從零開始重新計數,所有的文字鍵名保持不變。

   php代碼執行個體:

  <?php

    $arr1 = array("c","d");

    array_unshift($arr1,"a","b");

    print_r($arr1);

  ?>

  運作結果:

   Array

  (

   [0] => a

   [1] => b

   [2] => c

   [3] => d 

  )  

4.删除數組第一個元素。

   array_shift() 将 array 的第一個單元移出并作為結果傳回,将 array 的長度減一并将所有其它單元向前移動一位。所有的數字鍵名将改為從零開始計數,文字鍵名将不變。如果 array 為空(或者不是數組),則傳回 NULL。

   php代碼執行個體:

  <?php

    $arr1 = array("a","b","c","d");

    echo (array_shift($arr1));

    print_r($arr1);

  ?>

  運作結果:

   a 

   Array

  (

   [0] => b

   [1] => c

   [2] => d 

  )

php