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






