从数组中删除元素的值?

ajs*_*sie 10 php

我有一个带键和值的常规数组.

有没有一种简单的方法来根据其值删除数组元素,或者我必须foreach循环它并检查每个值以删除它?

Mik*_*rov 29

和array_diff:

$array = array('a','b','c');
$array_to_remove = array('a');

$final_array = array_diff($array,$array_to_remove);
// array('b','c');
Run Code Online (Sandbox Code Playgroud)

编辑:更多信息:http://www.php.net/array_diff


Mat*_*hew 11

http://us3.php.net/array_filter

PHP 5.3从数组$ a中删除"foo"的示例:

<?php
$a = array("foo", "bar");
$a = array_filter($a, function($v) { return $v != "foo"; });
?>
Run Code Online (Sandbox Code Playgroud)

第二个参数可以是任何类型的PHP回调(例如,函数名称作为字符串).如果搜索值不是常量,您还可以使用函数生成函数.