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简介
Oct 09 PHP
PHP中读写文件实现代码
Oct 20 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
Nov 25 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
php连接mysql数据库
Mar 21 PHP
phpStudy配置多站点多域名和多端口的方法
Sep 01 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 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 MYSQL 数据备份类
2009/06/19 PHP
PHP 危险函数全解析
2009/09/09 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP如何实现跨域
2016/05/30 PHP
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python批量修改文件名的实现代码
2014/09/01 Python
低版本中Python除法运算小技巧
2015/04/05 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
python实现excel读写数据
2021/03/02 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python3 xpath和requests应用详解
2020/03/06 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
机电一体化自荐信
2013/12/10 职场文书
授权委托书协议书
2014/10/16 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS