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中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
PHP 翻页 实例代码
Aug 07 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
Mar 07 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
php微信公众号开发之关键词回复
Oct 20 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
Python简单遍历字典及删除元素的方法
2016/09/18 Python
分享vim python缩进等一些配置
2018/07/02 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
公司综合部的成员自我评价分享
2013/11/05 职场文书
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
2015年大学生工作总结
2015/04/21 职场文书
大国崛起观后感
2015/06/02 职场文书
雨中的树观后感
2015/06/03 职场文书
校长新学期致辞
2015/07/30 职场文书
生产车间管理制度
2015/08/04 职场文书
中秋节祝酒词
2015/08/12 职场文书