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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
Cakephp 执行主要流程
Mar 24 PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
PHP基础知识回顾
Aug 16 PHP
PHP之短标签开启设置
Jun 17 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
php 函数中静态变量使用的问题实例分析
Mar 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
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
详解Django中的权限和组以及消息
2015/07/23 Python
python列表的常用操作方法小结
2016/05/21 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python3爬取各类天气信息
2018/02/24 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
医药专业推荐信
2013/11/15 职场文书
服务员岗位职责
2014/01/29 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
机电一体化求职信
2014/03/10 职场文书
企业活动策划方案
2014/06/02 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL