php 删除一个数组的值,php 删除一维数组中某一个值元素的操作方法

1. 自己写for循环

从array里去掉$tmp这个元素的值

1

2

3

4

5

6

7

8

9

10

$tmp ='324';

$arr =array(

'0' => '321',

'1' => '322',

'2' => '323',

'3' => '324',

'4' => '325',

'5' => '326',

);

代码

1

2

3

4

5

foreach( $arr as $k=>$v) {

if($tmp == $v) unset($arr[$k]);

}

print_r($arr);

?>

此时

1

2

3

4

5

6

7

8

Array

(

[0] => 321

[1] => 322

[2] => 323

[4] => 325

[5] => 326

)

要重置索引,加上一句

1

2

3

4

5

6

foreach( $arr as $k=>$v) {

if($tmp == $v) unset($arr[$k]);

}

$arr = array_values($arr);

print_r($arr);

?>

此时结果

1

2

3

4

5

6

7

8

Array

(

[0] => 321

[1] => 322

[2] => 323

[3] => 325

[4] => 326

)

array_merge()也可以实现同样的效果

1

2

3

4

5

6

foreach( $arr as $k=>$v) {

if($tmp == $v) unset($arr[$k]);

}

$arr = array_merge($arr);

print_r($arr);

?>

此时结果

1

2

3

4

5

6

7

8

Array

(

[0] => 321

[1] => 322

[2] => 323

[3] => 325

[4] => 326

)

2.优先使用php自带函数,因为那是用C实现的,比自己写效率高。

使用array_search和array_splice,这里array_splice自动实现重置序列值。

1

2

3

$key=array_search($tmp ,$arr);

array_splice($arr,$key,1);

var_dump($arr);

此时结果

1

2

3

4

5

6

7

8

Array

(

[0] => 321

[1] => 322

[2] => 323

[3] => 325

[4] => 326

)

最佳实践

1

2

$arr = array_merge(array_diff($arr, array($tmp)));

var_dump($arr);

结果

1

2

3

4

5

6

7

8

Array

(

[0] => 321

[1] => 322

[2] => 323

[3] => 325

[4] => 326

)

这里,如果数组元素是复杂数据结构,同样能够实现比较。当然数据本身仍然是一维的。

上面的例子中$tmp是一个值,如果$tmp是一个数组或者其他复杂数据结构,从$array中删除所有$tmp包含的元素,上面的方法同样有效

1

2

$arr = array_merge(array_diff($arr, $tmp));

var_dump($arr);

转载:https://www.jb51.net/article/134176.htm

JS 判断某变量是否为某数组中的一个值 的几种方法

1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. }; 用法如下: var arr=new Array([‘b’,2,‘a‘,4]) ...

JS判断某变量是否为某数组中的一个值的3种方法

1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. 1 Array.prototype.in_array = function (e) ...

PHP如何随机获取一个二维数组中的一个值

获取一个数组: $awardid_list=pdo_fetchall('select id from '.tablename($this->table_award)); 这是微擎的写法哈,意思就 ...

jst通用删除数组中重复的值和删除字符串中重复的字符

以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...

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

C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个 ...

leetcode-26.删除重复数组中的重复项

leetcode-26.删除重复数组中的重复项 题意 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数 ...

leecode刷题(1)-- 删除排序数组中的重复项

删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的 ...

LeetCode:删除排序数组中的重复项||【80】

LeetCode:删除排序数组中的重复项||[80] 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原 ...

算法练习之合并两个有序链表, 删除排序数组中的重复项,移除元素,实现strStr(),搜索插入位置,无重复字符的最长子串

最近在学习java,但是对于数据操作那部分还是不熟悉 因此决定找几个简单的算法写,用php和java分别实现 1.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两 ...

随机推荐

javascript 红宝书笔记之数据类型

typeof   检测给定变量的数据类型,通过typeof来区分函数和其它对象   var message = 'some string'; console.log(typeof(message) ...

洛谷P2242 公路维修问题(Road)

题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有牛 ...

Sonatype Nexus高级配置

Sonatype Nexus的安装配置参见:CentOS系统中安装Nexus并导入已有的构件库.Nexus内置了Jetty容器,${NEXUS_HOME}/bin/jsw目录下包含了各个操作系统的启动 ...

hdu 1008

题目意思是:给你N个数字  每个数字表示多少层楼  现在要你从0层楼开始坐电梯  一次按顺序走过这些楼层 规则是 上楼6秒 ,下楼4秒,每次到达一个楼层停5秒..... 思路:模拟 代码如下:(要注意 ...

【BZOJ】【1024】【SCOI2009】生日快乐

枚举 想到以后一秒钟变水题…… 一开始我想:这不是可以随便切吗……但是突然想到:第一刀,必须切在n等分点上!因为要求最后每块的大小相等,那么同理,比如总共要切成7块,第一刀切成了$\frac{3}{7 ...

HTML5笔记(一)

1.HTML5提供了一些新的元素和属性,例如(网站导航块)和.这些标签较有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视频人士使用,除此之外,还 ...

基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现

笔者在大学中迷迷糊糊地度过了四年的光景,心中有那么一点目标,但总感觉找不到发力的方向. 在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过Android开发,尝试探索过软件工程在实际开发中 ...

Swift NSAttributedString的使用

NSMutableAttributedString let testAttributes = [NSAttributedStringKey.foregroundColor: UIColor.blue, ...

使用 Gradle 构建 Java 项目

使用 Gradle 构建 Java 项目 这个手册将通过一个简单的 Java 项目向大家介绍如何使用 Gradle 构建 Java 项目. 我们将要做什么? 我们将在这篇文档航中创建一个简单的 Jav ...

HttpClient超时设置setConnectionTimeout和setSoTimeout

http是基于TCP/IP进行通信的,tcp通过3次握手建立连接,并最终以4次挥手终止通信. 知乎上对三次握手和四次挥手有如下解释: 作者:知乎用户链接:https://www.zhihu.com/q ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值