拆分数组

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 数组 添加元素、删除元素的更多相关文章

  1. PHP从数组中删除元素的方法

    PHP从数组中删除元素的方法 本篇文章主要介绍了PHP从数组中删除元素的四种方法实例 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: 1 2 3 4 5 <?php   $ ...

  2. PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  3. MongoDB 学习笔记之 从数组中删除元素和指定数组位置

    从数组中删除元素: 从数组中删除单个元素: db.ArrayTest.updateOne({ "name" : "Bill"},{$pop: {"ad ...

  4. js 动态添加元素 删除元素逻辑

    js 动态添加元素 删除元素逻辑 var obox=document.getElementById("box"); oadd.onclick=function(){ var odi ...

  5. php数组中删除元素之重新索引

    如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 <?php $arr = array('a','b','c','d'); unset($arr[1]); ...

  6. js数组之从数组中删除元素

    使用pop()这个函数可以从数组中删除末尾的元素,shift方法可以删除数组中第一个元素.这些都是js中自带的函数,如果不使用这些函数的话,自己写的代码效率会很低的. <html> < ...

  7. js 数组循环删除元素或对象

    1.根据不同条件,删除数组中的元素或对象 for(var i=0,flag=true,len=attrList.length;i<len;flag ? i++ : i){ if(attrList ...

  8. 9、数组中删除元素(test6.java)

    前文讲到,通过函数,进行数组元素的添加,这里同样通过这个函数,进行数组的删除. 举个例子,代码如下: //导入输入所需要的包 import java.util.Scanner; public clas ...

  9. JavaScript 的数组操作--删除元素

    在JavaScript中,可以很方便的删除指定位置的元素,这个是用到 splice方法, 该方法用于删除或替换数组中的部分数据. 其语法定义是 : splice(start , count [,new ...

  10. (转载)php数组删除元素各种方法总结

    (转载)http://www.111cn.net/phper/php/46865.htm 有很多朋友都不知道怎么把数组中元素给删除,下面我来总结各种数组删除元素方法给各位,有需要了解的朋友可进入参考. ...

随机推荐

  1. 关于SQL语句优化的一个问题

    今天写了一个很简单的存储过程,结果一执行,40多秒,后来调整了一句话写法,瞬间出来,其实差别不大,如下: select item_no=vpc.ITEM_ID ,BL_QTY=sum(vpc.QTY_ ...

  2. Java多线程-新特征-锁(上)

    在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口 ...

  3. Oracle “dba_tables”介绍

    DBA_TABLES describes all relational tables in the database. Its columns are the same as those in ALL ...

  4. Linux 中 10 个有用的命令行补全例子

    在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令.这并不新鲜,可能你已经知道了.这个功能被称作命令行补全bash completion.默认情况下 ...

  5. jquery返回上一页面

    window.location.href=document.referrer;   返回然后刷新 window.history.back(-1);  返回不刷新

  6. 使用System.Timers.Timer类实现程序定时执行

    使用System.Timers.Timer类实现程序定时执行 在C#里关于定时器类有3个:System.Windows.Forms.Timer类.System.Threading.Timer类和Sys ...

  7. 向量和矩阵的范数及MATLAB调用函数

    范数就是长度的一种推广形式,数学语言叫一种度量.比如有一个平面向量,有两个分量来描述:横坐标和纵坐标.向量的二范数就是欧几里得意义下的这个向量的长度.还有一些诸如极大值范数,就是横坐标或者纵坐标的最大 ...

  8. AS3事件流机制

    事件流: 显示对象,深度 MouseEnabled,MouseChildren:显示对象,同层次(父容器为同一对象)遮挡问题

  9. Format a Hard Drive in Csharp C#格式化总结

    using System; using System.Diagnostics; using System.IO; using System.Linq; using System.Management; ...

  10. JavaScript 时间特效 显示当前时间

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...