php数组操作,删除第一个和最后一个元素

对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作。

(1)使用 array_pop 删除数组的最后一个元素,例如:

$user=array(‘apple‘,‘banana‘,‘orange‘);

$result=array_pop($user);

print_r($result);

print_r($user);
结果将是:

orange
array(‘apple‘,‘banana‘)

(2)使用 array_shift 删除数组的第一个元素,例如:

查看代码打印

$user=array(‘apple‘,‘banana‘,‘orange‘);

$result=array_shift($user);

print_r($result);

print_r($user);
结果将是:

apple
array(‘banana‘,‘orange‘)

其实删除数组的第一个元素还可以使用 array_splice 这个函数,即:

$user=array_splice($user,1); //删除数组第一个元素,注意此时返回的是被删除后的新的数组
下面简单的对 array_pop 和 array_shift 做一下解释:

array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL。

array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果 array 为空(或者不是数组),则返回 NULL。
array:数组
offset: 规定取出元素的开始位置。如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
一、PHP取索引数组的第一个
取索引数组的第一个元素非常容易,下标写0即可,不多解释。

重点和大家分享PHP取关联数组第一个的方法。先放上我今天写的代码:

 代码如下
//取默认第一个渠道名
$channel_arr = $this->get_from_channel();  //所有渠道数组
$arr_num = count($channel_arr);
$first_channel = array_slice($channel_arr,0,-($arr_num-1));  //取渠道数组第一个
$html[‘from_channel‘] = $first_channel[0];

删除数组
 代码如下    

<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
?>
输出
Array ( [0] => Cat [1] => Horse )
还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值.
相对的array_pop() 函数删除数组中的最后一个元素.
几个函数用下来觉得array_search()比较实用
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false
 代码如下    复制代码

$array = array(‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘);
$del_value = 3;
unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
print_r($array);
输出
array(‘1‘, ‘2‘, ‘4‘, ‘5‘);
PHP中删除数组中某个元素
在PHP中删除数组元素有以下几种方法:
要删除一个元素,用onset()
 代码如下    复制代码
unset($array[3]);
unset($array[‘foo‘]);
要删除多个不连续的元素,也用unset()
 代码如下    复制代码
unset($array[3] $array[5]);
unset($array[‘foo‘] $array[‘bar‘]);
要删除多个连续的元素,用array_splice()
 代码如下    复制代码
array_splice($array $offset $length);
php array_shift删除数组中的第一个值:
定义和用法
array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。
注释:如果键是数字的,所有元素都将获得新的键,从 0 开始,并以 1 递增。(参见例子 2)。
语法
array_shift(array)
参数    描述
array    必需。规定输入的数组。
例子 1
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [b] => Cat [c] => Horse )
例子 2
带有数字键:
<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [0] => Cat [1] => Horse )
时间: 2024-08-06 21:39:40

php数组操作,删除第一个和最后一个元素的相关文章

php获取并删除数组的第一个和最后一个元素

php中如何获取并删除数组的第一个或者最后一个元素?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作.(1)使用 array_pop 删除数组的最后一个元素,例如:$arr=array('a','b','c');$result=array_pop($arr);print_r($result);print_r($arr);结果将是:carray('a','b') (2)使用 array_shift 删除数组的第一个元素,

C/C++,Java,PHP,JavaScript,Json数组、对象赋值时,最后一个元素后面是否可以带逗号?

1 C,C++,Java,PHP都能容忍末尾的逗号 C,C++,Java中对数组赋值时,最后一个元素末尾的逗号可有可无.下面两行代码对这些语言来说是等效的. int a[] = {1,2,3}; /* 正确 */ int a[] = {1,2,3,}; /* 正确 */ PHP这一点也继承了C的特点,下面的两行代码等效. $a = array(1,2,3); /* 正确 */ $a = array(1,2,3,); /* 正确 */ 2 JavaScript视末尾逗号为语法错误! 然而到了Jav

删除单链表中的一个元素

题目: Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6 Return: 1 --> 2 --> 3 --> 4 --> 5 Credits: Special thanks to @mithmatt for adding this

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

一、数组操作的基本函数

一.数组操作的基本函数数组的键名和值array_values($arr);获得数组的值array_keys($arr);获得数组的键名array_flip($arr);数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);在数组中检索applearray_search("apple",$arr);在数组中检索apple ,如果存在返回键名array_key_exists("apple",$arr);检

PHP数组操作大全

1 <?php 2 /** 3 * File: phpstudy : array_test.php 4 * Created by PhpStorm. 5 * User: IhMfLy [email protected] 6 * Date: 2016-08-03 7 * Time: 10:36 8 */ 9 24 25 26 # 创建数组 27 $arr1_0 = array(); 28 $arr1_0[] = 23; #创建,再初始化 29 $arr1_0[] = "lisi";

js 数组操作常用方法

push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr.push(6,7,8); console.log(arr);// push:在数组后面加入元素   结果是:[1,2,3,4,5,6,7,8] arr aa = [7,8,9,0]; aa.unshift(4,5,6); console.log(aa);//   unshift:在数组前面加入元素

matlab数组操作知识点总结

第一点:数组与矩阵概念的区分 数组:与其它编程语言一样,定义是:相同数据类型元素的集合. 矩阵:在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 但是需要知道的是,在matlab中经常需要使用到的是二维矩阵 接着了解一下几个常用标点符号的原理 逗号:用来将数组中的元素分开: 分号:用来将矩阵中的行分开: 中括号:界定数组的首与尾. 行数组:如a=[1,2,3,8,-1] 列数组:b=[1;2;3;8;-1] 矩阵:A=[2,4,1;8,-2,4:2,4,6] 生成矩阵的方法有

删除map容器中指定的元素

for (std::map<Int64,Int64>::iterator iter = ips_forbidden_.begin(); iter != ips_forbidden_.end();) { if (cur_time >= iter->second) { ips_forbidden_.erase(iter++); } else { ++iter; } } iter++返回当前的元素,而operator(int)内部已经对iter进行了+1操作,使iter指向下一个元素,这