当前位置:首页 > PHP教程 > php数组 > 列表

php去掉数组的第一个值的两个函数:array_shift、array_splice

发布:smiling 来源: PHP粉丝网  添加日期:2023-06-23 16:46:43 浏览: 评论:0 

php去掉数组的第一个值的两种删除方法:1、使用array_shift()函数删除数组的第一个值,语法“array_shift($arr)”,会返回被删除的元素。2、使用array_splice()函数删除第一个值,语法“array_splice($arr,0,1);”;该函数的第二个和第三个参数可以为负数。

PHP array_shift() 函数

array_shift()将数组开头的单元移出数组,并作为结果返回,将数组长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果数组为空或不是一个数组则返回 NULL。

定义和用法

array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。

注释:如果键名是数字的,所有元素都将获得新的键名,从 0 开始,并以 1 递增(参见下面实例)。

语法

array_shift(array)

参数 描述

array 必需。规定数组。

技术细节

返回值: 返回从数组中删除元素的值,如果数组为空则返回 NULL。

PHP 版本: 4+

实例

  1. <?php 
  2. $arr = array('a'=>1,'b'=>2,'c'=>'3'); 
  3. array_shift($arr); 
  4. print_r($arr); 
  5.  
  6. $arr2 = array('1'=>1,'2'=>2,'3'=>'3'); 
  7. array_shift($arr2); 
  8. print_r($arr2); 
  9. ?> 

以上实例输出结果为:

  1. Array 
  2.     [b] => 2 
  3.     [c] => 3 
  4. Array 
  5.     [0] => 2 
  6.     [1] => 3 

注意:如果元素量很大,这个操作会很耗时,因为要重新计算索引;改进方法是先用array_reverse()(返回翻转顺序的数组),再用array_pop()(删除数组中的最后一个元素)。

PHP array_splice() 函数

array_splice()函数是一个强大的函数,有多重功能:可以插入数组元素、可以替换数组元素,当然也可以删除数组元素(毕竟array_splice()函数的本职工作是删除指定元素并用其它值取代)。使用array_splice($arr,0,1)从$arr数组的第1个元素开始删除元素,删除1个元素。array_splice($arr,$start,$length)会删除从$start位置开始删除$length个元素。

定义和用法

array_splice() 函数从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组。

提示:如果函数没有移除任何元素(length=0),则替代数组将从 start 参数的位置插入(参见实例 2)。

注释:不保留替代数组中的键名。

语法

array_splice(array1,start,length,array2)

参数 描述

array1 必需。规定数组。

start 必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。

length 可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。

array2 可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。

技术细节

返回值: 返回包含被提取元素的数组。

PHP 版本: 4+

Tags: array_shift array_splice

分享到: