首页 > 后端开发 > php教程 > 如何按值而不是键从 PHP 数组中删除元素?

如何按值而不是键从 PHP 数组中删除元素?

Barbara Streisand
发布: 2024-12-23 19:46:10
原创
276 人浏览过

How Can I Remove an Element from a PHP Array by Value, Not Key?

按值(非键)从 PHP 数组中删除元素

在 PHP 中处理数组时,通常需要根据值删除元素他们的价值观而不是他们的钥匙。考虑这样一个数组:

$messages = [312, 401, 1599, 3, ...];
登录后复制

由于这个数组中的值是唯一的,我们如何在不知道其键的情况下选择性地删除具有特定值的元素?

解决方案:使用 array_search() 和 unset()

PHP 为此提供了两个有用的函数: array_search() 和取消设置()。这些函数的组合允许我们搜索元素的键,然后将其从数组中删除。它的工作原理如下:

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}
登录后复制

此代码使用 array_search() 查找值为 $del_val 的元素的键。如果未找到该键,则 array_search() 返回 FALSE。但是,我们使用严格的比较运算符 !== 来确保仅当 array_search() 显式返回 FALSE 时表达式才计算为 true,从而避免 false-y 值(例如,键 0)。

如果键是发现,unset()函数用于从$messages数组中删除该元素。需要注意的是,unset() 是通过 key 来工作的,这就是为什么我们需要首先从 array_search() 获取 key。

以上是如何按值而不是键从 PHP 数组中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板