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之Smarty入门
Jan 04 PHP
PHP下常用正则表达式整理
Oct 26 PHP
深入密码加salt原理的分析
Jun 06 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
php文件服务实现虚拟挂载其他目录示例
Apr 17 PHP
PHP 快速排序算法详解
Nov 10 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
php2html php生成静态页函数
2008/12/08 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
原生js调用json方法总结
2018/02/22 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
python实现flappy bird游戏
2018/12/24 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
python实现简易学生信息管理系统
2020/04/05 Python
Python 操作 MySQL数据库
2020/09/18 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
文秘专业自荐信
2013/10/14 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书