删除PHP数组中头部、尾部、任意元素的实现代码

在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部元素和尾部元素,还有任意数组元素。

删除末尾元素array_pop

就像子弹的弹夹一样,最后压入的子弹是最先弹出的,在计算机术语里,我们称之为先进后出栈

既然array_push是往数组的末尾添加元素,那么array_pop就是从数组的末尾删除一个元素。

array_pop()函数获取并返回数组的最后一个元素,并将整个数组的长度减 1 ,如果数组为空(或者不是数组),那么返回的就是 null。

语法格式如下:

mixed array_pop ( array &$array )

参数 array 为输入的数组。

下面是array_pop()函数删除组数最后一个元素的示例,具体代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB");  //定义数组
$array = array_pop($atr);           //删除数组中最后一个元素
echo "被删除的元素是; $array<br>";     //输出被删除的元素
print_r($atr);                //打印数组结构
?>

输出结果为:

删除头部元素array_shift

除了先进后出外,计算机中还有一种叫先进先出栈,可以看作是一个管道,先进去的元素最先出来

既然array_pop可以从数组最后开始弹出元素,那么应该有函数可以从数组的头开始弹出元素,我们使用array_shift

mixed array_shift ( array &$array )

下面我们就使用array_shift()函数来实现删除数组中头部元素的实例,具体代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB");  //定义数组
$array = array_shift($atr);           //删除数组中第一个元素
echo "被删除的元素是; $array<br>";     //输出被删除的元素
print_r($atr);                //打印数组结构
?>

输出结果为:

其实删除组数中头部元素和删除尾部元素的语法都是一样的,只是所用的函数不一样而已!

删除任意数组中元素

上面我们介绍了怎么删除数组中头部和尾部的元素,删除任意数组中的元素比前两个都简单,删除任意元素可以直接使用unset就行了!

下面我们就使用unset函数来实现删除任意数组中的元素实例,具体代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("PHP","JAVA","ASP","VB");  //定义数组
unset($atr[1]); // 删除JAVA
print_r($atr);                //打印数组结构
?>

输出结果为:

说明:上面删除的是索引数组,索引数组可以按指定下标删除,关联数组删除元素,可以按照key来删除指定的元素!

下面实例就是如何删除关联数组中的元素,具体代码如下;

<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("name"=>"PHP中文网","URL"=>"www.php.cn","QQ"=>"88526");  //定义数组
unset($atr["QQ"]);           // 删除88526
print_r($atr);                //打印数组结构
?>

输出结果为:

说明

unset 可以删除任意的变量或数组

参考代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$atr = array("name"=>"PHP中文网","URL"=>"www.php.cn","QQ"=>"88526");  //定义数组
unset($atr); // 删除数组
var_dump($atr);               //打印数组结构
?>

输出结果为:

下一篇文章我们将介绍《如何删除PHP数组中的重复元素》!

以上就是如何删除PHP数组中头部,尾部,任意元素的详细内容,更多请关注我们其它相关文章!

(0)

相关推荐

  • 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(

  • php array_flip() 删除数组重复元素

    方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a

  • PHP删除数组中的特定元素的代码

    比如下面的程序: 复制代码 代码如下: <?php $arr = array('apple','banana','cat','dog'); unset($arr[2]); print_r($arr); ?> 程序运行结果: 复制代码 代码如下: Array ( [0] => apple [1] => banana [3] => dog ) 但是这种方法的最大缺点是没有重建数组索引,就是说,数组的第三个元素没了. 经过查资料后,原来PHP提供了这个功能,只不过很间接.这个函数是

  • php实现搜索一维数组元素并删除二维数组对应元素的方法

    本文实例讲述了php实现搜索一维数组元素并删除二维数组对应元素的方法.分享给大家供大家参考.具体如下: 定义一个一维数组一个二维数组如下 $fruit=array('apple','orange'); $products = array( array('name'=>'apple','price'=>23.4), array('name'=>'orange','price'=>45.3), array('name'=>'biscuit','number'=>5,'pri

  • PHP删除二维数组中相同元素及数组重复值的方法示例

    本文实例讲述了PHP删除二维数组中相同元素及数组重复值的方法.分享给大家供大家参考,具体如下: function assoc_title($arr, $key) { $tmp_arr = array(); foreach ($arr as $k => $v) { if (in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } return $arr; }//assoc_title e

  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php $a = array("one","two","three"); $b = array("一","二","三"); $c = array_combine($a,$b); print_r($c

  • php递归调用删除数组空值元素的方法

    本文实例讲述了php递归调用删除数组空值元素的方法.分享给大家供大家参考.具体如下: 该函数可以删除数组里的所有空值元素,包含空字符串,空的数组等等. function array_remove_empty($arr){ $narr = array(); while(list($key, $val) = each($arr)){ if (is_array($val)){ $val = array_remove_empty($val); // does the result array conta

  • PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)

    本文实例讲述了PHP查询并删除数据库多列重复数据的方法.分享给大家供大家参考,具体如下: <?php $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db", $con); if (!$db

  • php使用unset()删除数组中某个单元(键)的方法

    本文实例讲述了php使用unset()删除数组中某个单元(键)的方法.分享给大家供大家参考.具体分析如下: unset既可以删除变量,也可以删除数组中某个单元.但要注意的是,数组不会重建索引. 实例如下: <?php $arr = array("朝阳区","海淀区","西城区","东城区","丰台区"); unset($arr[3]); echo "<pre>"; pr

  • PHP从数组中删除元素的四种方法实例

    茴香豆的"茴"字有四种写法,PHP从数组中删除元素也有四种方法 ^_^. 删除一个元素,且保持原有索引不变 使用 unset 函数,示例如下: <?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你想删除的key ?> 输出: Array (     [0] => a     [2] =>

  • php删除数组中重复元素的方法

    几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法. 方法一.完整删除重复数组实例-----删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_valu

  • PHP实现删除多重数组对象属性并重新赋值的方法

    本文实例讲述了PHP实现删除多重数组对象属性并重新赋值的方法.分享给大家供大家参考,具体如下: 实例:sphinx搜索出来的结果,要去掉某个属性值: $cl = new SphinxClient (); $query = $cl->Query ( $keyword, $index ); 方法一,直接删除属性: foreach ( $query['matches'] as $k => $val ) { unset($query['matches'][$k]["attrs"][

随机推荐