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中的超全局变量
Oct 09 PHP
PHP的ASP防火墙
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
Aug 21 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
laravel 框架执行流程与原理简单分析
Feb 01 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 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
详解redux异步操作实践
2018/08/15 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Python持续监听文件变化代码实例
2020/07/22 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
《猫》教学反思
2014/02/26 职场文书
单位委托书怎么写
2014/09/21 职场文书
校长新学期寄语2016
2015/12/04 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android