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

茴香豆的“茴”字有四种写法,PHP从数组中删除元素也有四种方法 ^_^。

删除一个元素,且保持原有索引不变

使用 unset 函数,示例如下:

<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你想删除的key ?>

输出:

Array (
    [0] => a
    [2] => c
)

使用 unset 并未改变数组的原有索引。如果打算重排索引(让索引从0开始,并且连续),可以使用 array_values 函数:

$array = array_values($array); /* 输出 array(2) { [0]=> string(1) "a" [1]=> string(1) "c" } */

删除一个元素,不保持索引

使用 array_splice 函数,示例如下:

<?php $array = array(0 => "a", 1 => "b", 2 => "c"); array_splice($array, 1, 1); //↑ 你想删除的元素的Offset ?>

输出:

Array (
    [0] => a
    [1] => c
)

按值删除多个元素,保持索引

使用 array_diff 函数,示例如下:

<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff($array, ["a", "c"]); //└────────┘→ 你想删除的数组元素值values ?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff 也将保持索引。

按键删除多个元素,保持索引

使用 array_diff_key 函数,示例如下:

<?php $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff_key($array, [0 => "xy", "2" => "xy"]); //↑ ↑ 你想删除的数组键keys ?>

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff_key 也将保持索引。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-01 07:23:45

PHP从数组中删除元素的四种方法实例的相关文章

PHP删除数组中特定元素的两种方法

这篇文章介绍了PHP中删除数组中特定元素的两种方法,有需要的朋友可以参考一下   方法一: 复制代码 代码如下: <?php $arr1 = array(1,3, 5,7,8); $key = array_search(3, $arr1); if ($key !== false)     array_splice($arr1, $key, 1); var_dump($arr1); ?> 输出: array(4) { [0]=> int(1) [1]=> int(5) [2]=>

js删除Array数组中指定元素的两种方法_javascript技巧

本节内容: js删除Array数组中指定元素 方法一, /* * 方法:Array.remove(dx) 通过遍历,重构数组 * 功能:删除数组元素. * 参数:dx删除元素的下标. */ Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=

PHP删除数组中特定元素的两种方法_php实例

方法一: 复制代码 代码如下: <?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1); if ($key !== false)    array_splice($arr1, $key, 1);var_dump($arr1);?> 输出:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) } 方法二: 复制代码 代码如下: <

php数组中删除元素之重新索引

 如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 <?php   $arr = array('a','b','c','d');   unset($arr[1]);   print_r($arr);   ?>    print_r($arr) 之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )   那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是 array_spl

php数组中删除元素之重新索引的方法_php技巧

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 复制代码 代码如下: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是 array_splice(

js去除数组中的重复项几种方法

例1 利用双重复制来一个个判断然后删除  代码如下 复制代码 <script type="text/javascript"> <!--     Array.prototype.distinct = function() {         var ret = [];         for (var i = 0; i < this.length; i++) {          for (var j = i+1; j < this.length;) {  

在PPT中插入Flash动画四种方法

  现在很多学科经常要做一些研究性学习或者调查报告,使用Powerpoint是个不错的主意. 而很多时候,我们需要添加一些flash动画来使我们的幻灯片更加生动.美观和具有说服力.但是Powerpoint中没有提供类似插入图片那样直接的功能.那么如何在PPT中插入flash动画影片呢? 下面我来教你四种方法: 方法一 将扩展名为. SWF的Flash动画文件插入PPT ---插入一个由文件创建的对象 ---在"动作设置"中的"对象动作"选项中选择"激活内容

PowerPoint中插入Flash动画四种方法

下面我来教你四种方法: 方法一 将扩展名为. SWF的Flash动画文件插入PPT ---插入一个由文件创建的对象 ---在"动作设置"中的"对象动作"选项中选择"激活内容" 在PPT中插入Flash动画方法二 将Flash生成的. exe动画文件插入PPT 1.先插入一图片 2.该图片"动作设置"中的"单击鼠标"选项中选择"运行程序",并指定文件路径和文件名 注意:用这个方法时,一定要

javascript实现html页面之间参数传递的四种方法实例分析_javascript技巧

本文实例讲述了javascript实现html页面之间参数传递的四种方法.分享给大家供大家参考,具体如下: 我们知道,在服务器端asp,jsp等程序可以接受html页面上的form传来的参数.那么,可不可以传递参数给html页面呢.可以. 原理:通过window.location.href中的分割符获得各个参数 方法一: /* *函数功能:从href获得参数 *sHref: http://www.cscenter.com.cn/arg.htm?arg1=d&arg2=re *sArgName:a