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 相关文章推荐
php 正则表达式小结
Aug 31 PHP
php empty函数判断mysql表单是否为空
Apr 12 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
PHP5.3新特性小结
Feb 14 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
php和vue配合使用技巧和方法
May 09 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/02/18 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
Javascript 面向对象特性
2009/12/28 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python常用内置函数总结
2015/02/08 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
出纳的岗位职责
2013/11/09 职场文书
《手指教学》反思
2014/02/14 职场文书
秋游活动策划方案
2014/02/16 职场文书
学校校庆演讲稿
2014/05/22 职场文书
借条格式范本
2015/05/25 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS