我有一个包含多个元素的数组。数组键是数字。
我现在想删除某个元素。我所知道的只是元素的内容,而不是关键。
有没有一种简单的方法可以从数组中删除此元素? 或者我是否需要循环遍历数组的所有元素以获取密钥,然后使用该密钥取消设置元素?
答案 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]);