php 删除一维数组中某一个值元素的操作方法
作者:Lyndon1115 时间:2024-06-05 09:51:01
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);
来源:http://blog.csdn.net/donglynn/article/details/50273297
标签:php,删除,一维数组,值,元素
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 第三方库的安装及pip的使用详解
2023-12-27 07:06:53
![](https://img.aspxhome.com/file/2023/9/65019_0s.png)
在pycharm中创建django项目的示例代码
2023-04-07 17:39:25
![](https://img.aspxhome.com/file/2023/8/102948_0s.png)
python中Mako库实例用法
2022-01-05 16:38:21
vue中巧用三元表达式解析
2024-05-28 16:03:27
![](https://img.aspxhome.com/file/2023/7/123077_0s.png)
python数据类型_字符串常用操作(详解)
2023-10-12 05:02:57
vue设计一个倒计时秒杀的组件详解
2024-05-09 10:41:55
CSS hacks与争议
2007-11-19 12:56:00
![](https://img.aspxhome.com/file/UploadPic/200711/19/20071119125952144s.gif)
python编程学习使用管道Pipe编写优化代码
2023-08-20 04:08:45
![](https://img.aspxhome.com/file/2023/9/90419_0s.png)
python如何利用cv2.rectangle()绘制矩形框
2021-03-14 10:12:51
从0到1构建vueSSR项目之路由的构建
2024-05-09 09:52:33
WebStorm 遇到的问题总结
2023-08-31 23:30:00
![](https://img.aspxhome.com/file/2023/5/132295_0s.gif)
PHP最常用的正则表达式
2024-05-03 15:34:38
Python实现列表拼接和去重的三种方式
2021-05-02 23:43:54
python面试题之列表声明实例分析
2022-01-10 12:46:51
![](https://img.aspxhome.com/file/2023/5/84075_0s.png)
Python os模块介绍
2023-02-04 11:28:15
word-wrap同word-break的区别
2007-10-24 20:08:00
详解用python -m http.server搭一个简易的本地局域网
2023-09-29 13:03:34
![](https://img.aspxhome.com/file/2023/7/110587_0s.png)
使用SQL Server判断文件是否存在后再删除(详解)
2024-01-19 13:03:33
人工智能学习Pytorch教程Tensor基本操作示例详解
2021-06-14 17:39:22
![](https://img.aspxhome.com/file/2023/6/117936_0s.png)
python函数装饰器构造和参数传递
2023-05-24 16:49:17