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

 更新时间:2018年02月01日 10:59:05   作者:Lyndon1115  
下面小编就为大家分享一篇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 删除一维数组中某一个值元素的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PHP获取Exif缩略图的方法

    PHP获取Exif缩略图的方法

    这篇文章主要介绍了PHP获取Exif缩略图的方法,实例分析了php针对图片的读取及返回MIME类型的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP实现对图片的反色处理功能【测试可用】

    PHP实现对图片的反色处理功能【测试可用】

    这篇文章主要介绍了PHP实现对图片的反色处理功能,涉及php针对图片的读取、数值运算等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • PHP设计模式之装饰器模式定义与用法简单示例

    PHP设计模式之装饰器模式定义与用法简单示例

    这篇文章主要介绍了PHP设计模式之装饰器模式定义与用法,结合简单实例形式分析了php装饰器模式的概念、原理、定义与简单使用方法,需要的朋友可以参考下
    2018-08-08
  • PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能

    PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能

    这篇文章主要介绍了PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能,涉及php使用mysql的like查询语句进行模糊查询以及mysql_num_rows进行结构统计的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • PHP+jquery实时显示网站在线人数的方法

    PHP+jquery实时显示网站在线人数的方法

    这篇文章主要介绍了PHP+jquery实时显示网站在线人数的方法,较为详细的分析了实时显示在线人数的原理与代码实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP使用DOM和simplexml读取xml文档的方法示例

    PHP使用DOM和simplexml读取xml文档的方法示例

    这篇文章主要介绍了PHP使用DOM和simplexml读取xml文档的方法,结合实例形式分析了php使用DOM及simplxml针对xml文件的创建、载入、读取等相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • PHP正则表达式 /i, /is, /s, /isU等介绍

    PHP正则表达式 /i, /is, /s, /isU等介绍

    PHP正则表达式 /i, /is, /s, /isU等,都代表着什么意思,你知道吗?下面为大家详细介绍下
    2014-10-10
  • php实现通过stomp协议连接ActiveMQ操作示例

    php实现通过stomp协议连接ActiveMQ操作示例

    这篇文章主要介绍了php实现通过stomp协议连接ActiveMQ操作,结合实例形式分析了stomp扩展安装及使用stomp扩展连接ActiveMQ具体操作技巧,需要的朋友可以参考下
    2020-02-02
  • PHP进程间通信的几种方法详解

    PHP进程间通信的几种方法详解

    PHP是用C编写的,因此它对系统底层API的操作与C很像,同大多数语言一样,PHP进程间通信的方式有以下几种:消息队列,管道,共享内存,socket和信号,本文是对这几种通信方式对整理
    2023-06-06
  • php字符串截取函数mb_substr用法实例分析

    php字符串截取函数mb_substr用法实例分析

    这篇文章主要介绍了php字符串截取函数mb_substr用法,结合实例形式分析了php使用mb_substr针对中文字符串截取与编码控制相关操作技巧,需要的朋友可以参考下
    2019-06-06

最新评论