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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
php学习之流程控制实现代码
Jun 09 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
php获得url参数中具有&amp;的值的方法
Mar 05 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 PHP
Laravel 框架控制器 Controller原理与用法实例分析
Apr 14 PHP
php输出形式实例整理
May 05 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 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
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
php for 循环语句使用方法详细说明
2010/05/09 PHP
php中hashtable实现示例分享
2014/02/13 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
js玩一玩WSH吧
2007/02/23 Javascript
JavaScript对象模型-执行模型
2008/04/28 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
初步讲解Python中的元组概念
2015/05/21 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
python实现同一局域网下传输图片
2020/03/20 Python
草莓网官网:StrawberryNET
2019/08/21 全球购物
internal修饰符起什么作用
2013/12/16 面试题
清明节网上祭英烈活动总结
2014/04/30 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书