首頁  >  文章  >  後端開發  >  php array 刪除指定值的方法

php array 刪除指定值的方法

藏色散人
藏色散人原創
2020-11-10 10:10:282434瀏覽

php array刪除指定值的方法:1、透過foreach遍歷後unset刪除;2、使用array_flip方法進行刪除;3、使用array_search方法進行刪除;4、使用array_keys搜尋指定的值再循環刪除。

php array 刪除指定值的方法

推薦:《PHP影片教學

php刪除陣列中指定值的元素的幾種方法

測試陣列如下:

//这是一个测试数组
$testArr = array(
't' => 'qq',
'q' => 'qq',
'b' => 'baidu',
'a' => 'ali',
'm' => 'xiaomi'
);

方法一:

//foreach遍历后unset删除,这种方法也是最容易想到的方法
function delByValue($arr, $value){
if(!is_array($arr)){
return $arr;
}
foreach($arr as $k=>$v){
if($v == $value){
unset($arr[$k]);
}
}
return $arr;
}

方法二:

//array_flip之后unset,这种方法有一个弊端,就是反转后由于有两个键值都为qq,有一个数据将会丢失,所以在使用时请谨慎)
function delByValue($arr, $value){
$tempArr = array_flip($arr);
unset($tempArr[$value]);
return array_flip($tempArr);
}

方法三:

//array_search,这种方法亦有弊端,array_search搜索到一个合适的值时便返回,所以在数组存在多个相关的值这种方法不适用)
function delByValue($arr, $value){
$key = array_search($value,$arr);
if(isset($key)){
unset($arr[$key]);
}
return $arr;
}

方法四:

//使用array_keys搜索指定的值再循环unset)
function delByValue($arr, $value){
$keys = array_keys($arr, $value);
var_dump($keys);
if(!empty($keys)){
foreach ($keys as $key) {
unset($arr[$key]);
}
}
return $arr;
}

四種方法總結下來,真正比較可行的還是方法1和方法4了,至於這兩種方法哪個更好,那就應該是具體情況具體分析了。

以上是php array 刪除指定值的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn