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


Posted in PHP onFebruary 01, 2018

1. 自己写for循环

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

<?php
$tmp = '324';
$arr = array(
'0' => '321',
'1' => '322',
'2' => '323',
'3' => '324',
'4' => '325',
'5' => '326',
);

代码

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>

此时

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)

要重置索引,加上一句

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>

此时结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

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

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>

此时结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

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

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

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);

此时结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

最佳实践

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

结果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

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

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

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

以上这篇php 删除一维数组中某一个值元素的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
用php过滤危险html代码的函数
Jul 22 PHP
使用PHP获取汉字的拼音(全部与首字母)
Jun 27 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
PHP比你想象的好得多
Nov 27 PHP
php计算整个目录大小的方法
Jun 19 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP二维数组去重算法
Dec 17 PHP
php分享朋友圈的实现代码
Feb 18 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 PHP
laravel7学习之无限级分类的最新实现方法
Sep 30 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 #PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 #PHP
PHP双向链表定义与用法示例
Jan 31 #PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 #PHP
PHP 记录访客的浏览信息方法
Jan 29 #PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 #PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 #PHP
You might like
php部分常见问题总结
2008/03/27 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
广告显示判断
2006/08/31 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
解决pycharm界面不能显示中文的问题
2018/05/23 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
python实现扫雷游戏
2020/03/03 Python
详解Python 最短匹配模式
2020/07/29 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
暑期研修感言
2014/02/17 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
见习报告格式范文
2014/11/08 职场文书
用电申请报告范文
2015/05/18 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
GPU服务器的多用户配置方法
2022/07/07 Servers