拆分数组

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 
  ) 

posted on 2015-01-09 10:09  闪电王国  阅读(516)  评论(0编辑  收藏  举报