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

 更新时间:2022年12月22日 10:11:57   投稿:yin  
php去掉数组的第一个值的两种删除方法:1、使用array_shift()函数删除数组的第一个值,语法“array_shift($arr)”,会返回被删除的元素。2、使用array_splice()函数删除第一个值,语法“array_splice($arr,0,1);”;该函数的第二个和第三个参数可以为负数。

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+

实例

<?php
$arr = array('a'=>1,'b'=>2,'c'=>'3');
array_shift($arr);
print_r($arr);

$arr2 = array('1'=>1,'2'=>2,'3'=>'3');
array_shift($arr2);
print_r($arr2);
?>

以上实例输出结果为:

Array
(
    [b] => 2
    [c] => 3
)
Array
(
    [0] => 2
    [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+

到此这篇关于php去掉数组的第一个值的两个函数:array_shift、array_splice的文章就介绍到这了,更多相关array_shift和array_splice函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论