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多线程抓取网页实现代码
Jul 22 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
PHP-redis中文文档介绍
Feb 07 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
解析php取整的几种方式
2013/06/25 PHP
PHP实现微信退款功能
2018/10/02 PHP
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
python中from module import * 的一个坑
2014/07/20 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
国际花店:Pickup Flowers
2020/04/10 全球购物
简历里的自我评价范文
2014/02/24 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
管理建议书范文
2014/05/13 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
党员作风建设整改方案
2014/10/27 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
农村老人去世追悼词
2015/06/23 职场文书
2019各种保证书范文
2019/06/24 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL