一尘不染

PHP数组按值删除(不是键)

php

我有一个PHP数组,如下所示:

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

我想删除包含值的元素$del_val(例如$del_val=401),但是我不知道它的键。这可能会有所帮助: 每个值只能存在一次

我正在寻找执行此任务的最简单功能。


阅读 228

收藏
2020-05-26

共1个答案

一尘不染

使用array_search()unset,尝试以下操作:

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

array_search()返回找到的元素的键,可使用将键从原始数组中删除该元素unset()。它会FALSE在失败时返回,但是在成功时会返回false
-y值(0例如,您的密钥),这就是使用严格比较运算符的原因!==

if()语句将检查是否array_search()返回了值,并且只会执行一个操作。

2020-05-26