PHP编程中,有时候需要对数组中指定的元素进行删除操作。这篇文章就说几种php语言中如何对数组中指定值的元素进行删除的方法。
PHP unset() 函数
PHP删除数组中的元素需要用到函数 unset()
unset():用于销毁指定的变量。
语法:
unset (var)
var:要销毁的变量
PHP删除数组中指定值的元素的方法
方法1:
$array = array('a','b','c','d'); foreach ($array as $key => $a) { if($a == 'b'){ unset($array[$key]); } } var_dump($array);
打印结果:
array(3) { [0]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "d" }
方法2:
编写自定义函数,并进行调用
function delarrayval($arr,$v){ //要判断传入的数据类型是否为数组 if(!is_array($arr)){ return false; } if(!$v){ return $arr; } foreach ($arr as $key => $a) { if($a == $v){ unset($arr[$key]); } } return $arr; }
调用函数:
$array = array( 'aa' => 'a', 'bb' => 'b', 'cc' => 'c', 'dd' => 'd' ); $arr2 = delarrayval($array,'b'); //打印结果 var_dump($arr2);
打印结果:
array(3) { ["aa"]=> string(1) "a" ["cc"]=> string(1) "c" ["dd"]=> string(1) "d" }
注意:打印的结果中,含有值“b”的数组元素已被删除掉。
方法3:
利用 array_keys() 函数查找数组的键名,并进行删除
自定义函数代码
function delarrayval2($arr,$v){ $keyarr = array_keys($arr, $v); if(count($keyarr)){ foreach ($keyarr as $key) { unset($arr[$key]); } } return $arr; }
调用函数:
$array = array('a','b','c','d'); var_dump(delarrayval2($array,'b'));
打印结果:
array(3) { [0]=> string(1) "a" [2]=> string(1) "c" [3]=> string(1) "d" }