从PHP数组中删除字符串?

2022-08-30 18:11:30

是否可以在不知道索引的情况下从PHP数组中删除字符串(请参阅下面的示例)?

例:

array = array("string1", "string2", "string3", "string4", "string5");

我需要删除字符串3。


答案 1
$index = array_search('string3',$array);
if($index !== FALSE){
    unset($array[$index]);
}

如果您认为您的值将多次出现在那里,请尝试使用带有搜索值的array_keys来获取所有索引。您可能需要确保

编辑:

请注意,使用 时索引保持不变。如果这是一个问题,这里有一个很好的答案,显示了如何使用.unsetarray_splice


答案 2

这可能不是最快的方法,但它是一个简短而整洁的一行代码:

$array = array_diff($array, array("string3"))

或者如果您使用的是 PHP >5.4.0 或更高版本:

$array = array_diff($array, ["string3"])