对于一个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数组操作,删除第一个和最后一个元素的更多相关文章

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

    php中如何获取并删除数组的第一个或者最后一个元素?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作.(1)使用 arra ...

  2. 每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)

      这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function inse ...

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

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

  4. shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

    let a = [1, 2, 3]; let b = a.shift(); console.log(a); // [2, 3] console.log(b); // 1 返回值 从数组中删除的元素;  ...

  5. js 数组 删除第一个和最后一个

    .shift();   删除第一个 .pop();   删除最后一个

  6. Mongo中的数组操作

    当前mongo中有这么一条数据 book是一个数组,在他后面添加一条数据 { "_id" : ObjectId("5721f504d1f70435632b5ce7&quo ...

  7. js数组操作-添加,删除

    js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...

  8. PHP数组操作大全

    <?php /** * File: phpstudy : array_test.php * Created by PhpStorm. * User: IhMfLy Pheonix@jtv-070 ...

  9. js 数组操作常用方法

    push():在数组后面加入元素,并返回数组的长度: unshift():在数组前面就如元素,并返回数组的长度: pop():删除最后一个元素: var arr =[1,2,3,4,5] ; arr. ...

随机推荐

  1. MFC 选择一个文件或者文件夹路径

    //选择文件CFileDialog dlg(TRUE, 0, 0, OFN_HIDEREADONLY, "文本文件|*.txt|所有文件|*.*)||",0);if (dlg.Do ...

  2. hadoop中常见元素的解释

    secondarynamenode 图: secondarynamenode根据文件的的大小对namenode的编辑日志和镜像日志 进行合并. 光从字面上来理解,很容易让一些初学者先入为主的认为:Se ...

  3. JUC回顾之-CyclicBarrier底层实现和原理

    1.CyclicBarrier 字面意思是可循环(Cyclic)使用的屏障(Barrier).它要做的事情是让一组线程到达一个屏障(同步点)时被阻塞,直到最后一个线程到达屏障时候,屏障才会开门.所有被 ...

  4. vijos 1028 LIS *

    链接:点我 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring& ...

  5. hdu 4289 最大流拆点

    大致题意:     给出一个又n个点,m条边组成的无向图.给出两个点s,t.对于图中的每个点,去掉这个点都需要一定的花费.求至少多少花费才能使得s和t之间不连通. 大致思路:     最基础的拆点最大 ...

  6. Ninja - chromium核心构建工具

    转自:http://guiquanz.me/2014/07/28/a_intro_to_Ninja/ Ninja - chromium核心构建工具Jul 28, 2014 [在线编辑] 缘由 经过上次 ...

  7. java_ant详解

    转自:http://hi.baidu.com/victorlin23/item/721b892c770be3d7a517b695 1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说 ...

  8. Activity使用Serializable传递对象实例

    public class SerializableBook implements Serializable { private static final long serialVersionUID = ...

  9. loadrunner录制脚本出现urs.asmx解决方法:

    在loadrunner录制过程中可能出现如下脚本: 解决方法: 解决办法:打开IE9的Internet选项-->高级,把设置下面安全中“启用SmartScreen筛选器”不选中,IE默认是选中的 ...

  10. more命令

    more 命令 用于分屏显示 more命令一般用于显示内容超过一屏的文件.其他命令经常和more匹配使用,但more命令也客单独使用. (1)其他命令和more命令匹配使用: 格式:    其他命令格 ...