当前位置: 首页 > 编程笔记 >

php 删除一维数组中某一个值元素的操作方法

濮阳靖
2023-03-14
本文向大家介绍php 删除一维数组中某一个值元素的操作方法,包括了php 删除一维数组中某一个值元素的操作方法的使用技巧和注意事项,需要的朋友参考一下

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 删除一维数组中某一个值元素的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍java删除数组中的某一个元素的方法,包括了java删除数组中的某一个元素的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 运行结果: [1, 2, 4, 5, 9, 8, 0] 请输入要删除第几个元素: 3 [1, 2, 0, 5, 9, 8] 以上就是小编为大家带来的java删除数组中的某一个元素的方法全部内容了,希望大家多多支持呐喊教程~

  • 本文向大家介绍php实现搜索一维数组元素并删除二维数组对应元素的方法,包括了php实现搜索一维数组元素并删除二维数组对应元素的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现搜索一维数组元素并删除二维数组对应元素的方法。分享给大家供大家参考。具体如下: 定义一个一维数组一个二维数组如下 需要实现从$products数组中查找元素是否和数组$fruit元素有交集,如果有的话保留

  • 本文向大家介绍php中删除数组的第一个元素和最后一个元素的函数,包括了php中删除数组的第一个元素和最后一个元素的函数的使用技巧和注意事项,需要的朋友参考一下 对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作。 (1)使用 array_pop 删除数组的

  • 问题内容: 说我有这些二维数组A和B。 如何从B中删除A中的元素。(集合论中的补语:AB) 更准确地说,我想做这样的事情。 问题答案: 基于this solution对,这里是用更少的内存占用与NumPy基础的解决方案,并与大型阵列工作时,可能是有益的- 样品运行- 在大型阵列上的运行时测试- 具有基础解决方案的时间- 基于更少内存占用量的定时解决方案- 进一步提升性能 通过将每一行视为索引元组来

  • 本文向大家介绍C# 删除数组内的某个值、一组值方法详解,包括了C# 删除数组内的某个值、一组值方法详解的使用技巧和注意事项,需要的朋友参考一下 最近优化了一个权限校验的功能,之前每次其他系统在获取各自系统的权限配置时,sso都去找到本地对应的权限文件读取解析一次。 这种设计虽然可以实现功能,但是这种反复去读取的策略并不经济,尤其在高并发的情况下更可能会成为性能瓶颈。 于是我对这块业务进行了优化,而

  • 本文向大家介绍js中数组插入、删除元素操作的方法,包括了js中数组插入、删除元素操作的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 通过上面的函数,可以处理上移和下移的动作 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 注释:该方法会改变原始数组。 语法 参数 描述 index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置