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" }