好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
在PHP中通过值(VALUE)而不使用键(KEY)删除数组中的一个元素 关闭 返回上一级  

在PHP中通过值(VALUE)而不使用键(KEY)删除数组中的一个元素
+ 查看更多

发布日期:2017-04-02 15:15
分类:PHP
浏览次数:200

我有个PHP数组如下

$messages = [312, 401, 1599, 3, ...];

我想删除值为 $del_val的那个元素(举个例子,$del_val=401),但是我不知道它的键,另外这一条信息可能会有帮助:每个值只存在一个。
我想找一个最简单的方法完成这个任务,请帮帮我

 

回答

使用 array_search() 和 unset() 函数,像下面这样:

if(($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}

array_search()方法可以找到并返回元素的键,然后就可以用unset()方法移除那个元素了。
当查找失败时它会返回false,但查找成功的时候会返回可能被误认为false的值(举个例子,这个键可能是0)
这就是为什么要用这个严格的比较符号 !== 。
这个if语句会检查array_search()是否返回一个非布尔值,只有返回非布尔值才会执行删除操作

 

 
上一篇从字符串中移除最后一个字符的最快方法是什么?
如何捕获PHP的Fatal Error?下一篇
下一篇如何捕获PHP的Fatal Error?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号