PHP实现删除数组中的特定元素

方法1:

1 <?php
2 $arr1 = array(1,3, 5,7,8);
3 $key = array_search(3, $arr1);
4 if ($key !== false)
5     array_splice($arr1, $key, 1);
6 var_dump($arr1);
7 ?>

返回结果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }

方法2:

1 <?php
2 $arr2 = array(1,3, 5,7,8);
3 foreach ($arr2 as $key=>$value)
4 {
5     if ($value === 3)
6         unset($arr2[$key]);
7 }
8 var_dump($arr2);
9 ?>

返回结果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }

总结:可以看到使用array_splice()删除特定值和使用unset删除特定值是有区别的。

array_splice()函数删除的话,数组的索引值也变化了。

unset()函数删除的话,数组的索引值没有变化

时间: 2024-08-05 04:49:20

PHP实现删除数组中的特定元素的相关文章

删除list中的特定元素

对于动态删除list中的特定元素,一般用linkedList,删除时有以下两种方法. 1. 循环遍历,找到要删除的元素后删除并且减少list长度.如果不减少list长度,那么就仅仅删除了元素,但没改变循环的判定条件(list.size),就会出现数组越界. for(int i = 0, len = list.size(); i < len; i++){ if(list.get(i) == 1){ list.remove(i); len--; i--; } } 2. List接口内部实现了Iter

删除数组中满足特定需求的数字

删除数组中满足特定需求的数字 现在你有一个数组,如何删除大于10的元素呢? a=[ 1 5 6 7; 8 12 14 16; 6 3 5 7] %创建3*4的测试数组 x=find(a>10); %得到a中大于10的数的元素下标(5,8,11),这个下标是按列的顺序数的 a(x)=[]; %根据下标,删除a中所有a>10的数 其他公告 函数:diff()可以配合上面的功能使用,寻找满足特定差分 原文地址:https://www.cnblogs.com/thgpddl/p/12685783.ht

C#如何删除数组中的一个元素

C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个元素)m,n数值已知 double[] arr = new double[50]; List<double> list = arr.ToList(); list.RemoveAt(5+1); double[] newarr = list.ToArray(); 转:http://www.zybang

删除数组中的重复元素,并返回去重的数组

/*删除数组中的重复元素,并返回去重的数组*/ function delRepeatNum(arr){ var result = []; var middleObj = {}; var temp; for(var i = 0; i < arr.length; i++){ temp = arr[i]; middleObj[temp] = 1; } for(temp in middleObj){ result.push(temp); } return result; }

javascript如何删除数组中指定的元素

javascript如何删除数组中指定的元素: 本章节将通过实例简单介绍一下如何删除数组中的元素,希望给需要的朋友带来帮助. 删除数组元素的方式有多种,下面简单介绍一下常用的几种方式: 一.使用delete进行删除: 代码实例如下: var myArray=new Array() myArray[0]="蚂蚁部落"; myArray[1]="青岛"; myArray[2]="奋斗才会有美好的未来"; delete myArray[1] alert

php删除数组中相同的元素,只保留一个相同元素

<?php// 删除数组中相同元素,只保留一个相同元素function formatArray($array){sort($array);$tem = ”;$temarray = array();$j = 0;for($i=0;$i<count($array);$i++){if($array[$i]!=$tem){$temar(www.111cn.net)ray[$j] = $array[$i];$j++;}$tem = $array[$i];}return $temarray;}//测试 调

【LeetCode-面试算法经典-Java实现】【027-Remove Element(删除数组中指定的元素)】

[027-Remove Element(删除数组中的元素)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the

JS删除数组中的某个元素

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: 1 Array.prototype.indexOf = function(val) { 2 for (var i = 0; i < this.length; i++) { 3 if (this[i] == val) return i; 4 } 5 return -1; 6 }; 然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素: 代码为: 1 Array.prototype.remo

js 删除数组中多个元素

js中如果使用forEach的话 , splice删除的时候会导致js的数组的length发生改变 , 因此会出现本应该删除的元素没有被删除 . 因此 , 我的想法是 : 使用index遍历 , 删除一个数组之后 , index不变  代码如下 : 1 var deleteTaskIds = [1,2,3,4]; 2 var taskList = [{}] 3 for (var i=0; i<taskList.length;){ 4 var task = taskList[i]; 5 if (d