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注入点构造代码
Jun 14 PHP
使用HMAC-SHA1签名方法详解
Jun 26 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
php解决约瑟夫环示例
Apr 09 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
浅谈PHP无限极分类原理
Mar 14 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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中++i 与 i++ 的区别
2012/08/08 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
Canvas实现微信红包照片效果
2018/08/21 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
JS闭包原理及其使用场景解析
2020/12/03 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
python 接口返回的json字符串实例
2018/03/27 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
python手写均值滤波
2020/02/19 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
linux面试题参考答案(4)
2013/01/28 面试题
区域销售经理职责
2013/12/22 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
员工试用期自我评价
2014/09/18 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
自主招生自荐信范文
2015/03/04 职场文书
办公室禁烟通知
2015/04/23 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
试了下Golang实现try catch的方法
2021/07/01 Golang