使用PHP删除数组元素

时间:2010-11-28 11:45:34

标签: php arrays

我有一个包含多个元素的数组。数组键是数字。

我现在想删除某个元素。我所知道的只是元素的内容,而不是关键。

有没有一种简单的方法可以从数组中删除此元素? 或者我是否需要循环遍历数组的所有元素以获取密钥,然后使用该密钥取消设置元素?

4 个答案:

答案 0 :(得分:3)

您可以使用array_filter删除具有该特定值的所有元素:

$arr = array_filter($arr, function($val) { return $val !== 'some value'; });

此示例使用PHP 5.3引入的anonymous function。但您可以使用任何其他callback function

或者您可以使用array_keys获取具有该值的所有元素的键,并在键之后对键执行diff:

$arr = array_diff_key($arr, array_flip(array_keys($arr, 'some value', true)));

答案 1 :(得分:1)

您可以使用array search功能获取密钥

$key = array_search('searchterm', $items); 
unset($items[$key]);

答案 2 :(得分:0)

确定

foreach($myarray as $key=>$item) {
    if($item=='myknowncontent') { unset($myarray[$key]; }
}

答案 3 :(得分:0)

您可以使用array_search查找相应的密钥:

$key = array_search("whatever", $array);
if ($key !== FALSE)
   unset($array[$key]);