php数组操作,删除第一个和最后一个元素
对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作。
()使用 array_pop 删除数组的最后一个元素,例如:
$user=array('apple','banana','orange');
$result=array_pop($user);
print_r($result);
print_r($user);
结果将是:
orange
array('apple','banana')
()使用 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,); //删除数组第一个元素,注意此时返回的是被删除后的新的数组
下面简单的对 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,,-($arr_num-)); //取渠道数组第一个
$html['from_channel'] = $first_channel[]; 删除数组
代码如下 <?php
$a=array(=>"Dog",=>"Cat",=>"Horse",=>"Bird");
print_r(array_slice($a,,));
?>
输出
Array ( [] => Cat [] => Horse )
还有array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值.
相对的array_pop() 函数删除数组中的最后一个元素.
几个函数用下来觉得array_search()比较实用
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false
代码如下 复制代码 $array = array('', '', '', '', '');
$del_value = ;
unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
print_r($array);
输出
array('', '', '', '');
PHP中删除数组中某个元素
在PHP中删除数组元素有以下几种方法:
要删除一个元素,用onset()
代码如下 复制代码
unset($array[]);
unset($array['foo']);
要删除多个不连续的元素,也用unset()
代码如下 复制代码
unset($array[] $array[]);
unset($array['foo'] $array['bar']);
要删除多个连续的元素,用array_splice()
代码如下 复制代码
array_splice($array $offset $length);
php array_shift删除数组中的第一个值:
定义和用法
array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。
注释:如果键是数字的,所有元素都将获得新的键,从 开始,并以 递增。(参见例子 )。
语法
array_shift(array)
参数 描述
array 必需。规定输入的数组。
例子
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [b] => Cat [c] => Horse )
例子
带有数字键:
<?php
$a=array(=>"Dog",=>"Cat",=>"Horse");
echo array_shift($a);
print_r ($a);
?>
输出:
Dog
Array ( [] => Cat [] => Horse )
php数组操作,删除第一个和最后一个元素的更多相关文章
- php获取并删除数组的第一个和最后一个元素
php中如何获取并删除数组的第一个或者最后一个元素?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作.(1)使用 arra ...
- 每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)
这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function inse ...
- JavaScript 的数组操作--删除元素
在JavaScript中,可以很方便的删除指定位置的元素,这个是用到 splice方法, 该方法用于删除或替换数组中的部分数据. 其语法定义是 : splice(start , count [,new ...
- shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3]; let b = a.shift(); console.log(a); // [2, 3] console.log(b); // 1 返回值 从数组中删除的元素; ...
- js 数组 删除第一个和最后一个
.shift(); 删除第一个 .pop(); 删除最后一个
- Mongo中的数组操作
当前mongo中有这么一条数据 book是一个数组,在他后面添加一条数据 { "_id" : ObjectId("5721f504d1f70435632b5ce7&quo ...
- js数组操作-添加,删除
js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...
- PHP数组操作大全
<?php /** * File: phpstudy : array_test.php * Created by PhpStorm. * User: IhMfLy Pheonix@jtv-070 ...
- js 数组操作常用方法
push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr. ...
随机推荐
- Gym 100801A Alex Origami Squares (求正方形边长)
题目:传送门.(需要下载PDF) 题意:给定一个长方形,在长方形内部画三个相同的正方形,问正方形的边长最大是多大. 题解:根据长宽比例可以算出三种情况,如果长比宽大三倍以上,那么正方形边长就是宽:如果 ...
- 核电站问题(codevs 2618)
题目描述 Description 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放 ...
- C++文件读写详解(ofstream,ifstream,fstream)
C++文件读写详解(ofstream,ifstream,fstream) 这里主要是讨论fstream的内容: #include <fstream> ofstream //文件写操作 内存 ...
- linux rdsktop 运程管理 windows
[root@ok ISO]# yum list |grep rdesktop rdesktop.x86_64 1.7.1-1.el6 base [root@ok ISO]# yum install r ...
- innobackupex err2
报错: [root@DB dbdata]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 /data/dbda ...
- 9.装饰者模式(Decorator Pattern)
using System; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { // 我 ...
- 让Entity Framework支持MySql数据库(转载)
转载地址:http://www.cnblogs.com/wintersun/archive/2010/12/12/1903861.html Entity Framework 4.0 也可以支持大名鼎鼎 ...
- C语言输出格式总结
转自:http://www.cnblogs.com/scbzljstudy/archive/2011/02/28/1966887.html 1 一般格式 printf(格式控制,输出表列) ...
- 实现开启和关闭android移动网络(转)
开启和关闭移动数据网络有两种方法:一种是通过操作系统的数据库改变APN(网络接入点),从而实现开启和关闭移动数据网络,另一种是通过反射调用系统(ConnectivityManager)的setMobl ...
- CodeForces Gym 100500A A. Poetry Challenge DFS
Problem A. Poetry Challenge Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/10 ...