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 相关文章推荐
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
CodeIgniter框架URL路由总结
Sep 03 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
php语法检查的方法总结
Jan 21 PHP
php学习笔记之字符串常见操作总结
Jul 16 PHP
PHP7数组的底层实现示例
Aug 25 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
php下的原生ajax请求用法实例分析
Feb 28 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 strtotime 函数UNIX时间戳
2009/01/14 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
python扫描线填充算法详解
2020/02/19 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
Python解析微信dat文件的方法
2020/11/30 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
应届生妇产科护士求职信
2013/10/27 职场文书
小车司机岗位职责
2013/11/25 职场文书
班主任个人工作反思
2014/04/28 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL
Golang流模式之grpc的四种数据流
2022/04/13 Golang
Python 绘制多因子柱状图
2022/05/11 Python
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers