主頁 > 知識(shí)庫 > PHP刪除數(shù)組中指定值的元素常用方法實(shí)例分析【4種方法】

PHP刪除數(shù)組中指定值的元素常用方法實(shí)例分析【4種方法】

熱門標(biāo)簽:桂陽公司如何做地圖標(biāo)注 企業(yè)400電話辦理多少費(fèi)用 合肥企業(yè)外呼系統(tǒng)線路 萍鄉(xiāng)商鋪地圖標(biāo)注 神龍斗士電話機(jī)器人 電信外呼系統(tǒng)多少錢一個(gè)月 宿州正規(guī)外呼系統(tǒng)軟件 代理打電話機(jī)器人 太原400電話申請(qǐng)流程

本文實(shí)例講述了PHP刪除數(shù)組中指定值的元素。分享給大家供大家參考,具體如下:

測(cè)試數(shù)組如下:

//這是一個(gè)測(cè)試數(shù)組
$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;
}

測(cè)試:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

運(yùn)行結(jié)果:

Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

方法二:

//array_flip之后unset,這種方法有一個(gè)弊端,就是反轉(zhuǎn)后由于有兩個(gè)鍵值都為qq,有一個(gè)數(shù)據(jù)將會(huì)丟失,所以在使用時(shí)請(qǐng)謹(jǐn)慎)
function delByValue($arr, $value){
  $tempArr = array_flip($arr);
  unset($tempArr[$value]);
  return array_flip($tempArr);
}

測(cè)試:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

運(yùn)行結(jié)果:

Array
(
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

方法三:

//array_search,這種方法亦有弊端,array_search搜索到一個(gè)合適的值時(shí)便返回,所以在數(shù)組存在多個(gè)相關(guān)的值這種方法不適用)
function delByValue($arr, $value){
  $key = array_search($value,$arr);
  if(isset($key)){
    unset($arr[$key]);
  }
  return $arr;
}

測(cè)試:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

運(yùn)行結(jié)果:

Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

方法四:

//使用array_keys搜索指定的值再循環(huán)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;
}

測(cè)試:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)

運(yùn)行結(jié)果:

array(1) {
  [0]=>
  string(1) "b"
}
Array
(
    [t] => qq
    [q] => qq
    [a] => ali
    [m] => xiaomi
)

四種方法總結(jié)下來,真正比較可行的還是方法1和方法4了,至于這兩種方法哪個(gè)更好,那就應(yīng)該是具體情況具體分析了。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》及《PHP常用遍歷算法與技巧總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP實(shí)現(xiàn)動(dòng)態(tài)刪除XML數(shù)據(jù)的方法示例
  • php刪除二維數(shù)組中的重復(fù)值方法
  • php刪除一個(gè)路徑下的所有文件夾和文件的方法
  • PHP刪除數(shù)組中指定下標(biāo)的元素方法
  • php 刪除一維數(shù)組中某一個(gè)值元素的操作方法
  • 實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)

標(biāo)簽:鄂州 白銀 綏化 崇左 廊坊 太原 衡陽 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP刪除數(shù)組中指定值的元素常用方法實(shí)例分析【4種方法】》,本文關(guān)鍵詞  PHP,刪除,數(shù)組,中,指定,值,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP刪除數(shù)組中指定值的元素常用方法實(shí)例分析【4種方法】》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP刪除數(shù)組中指定值的元素常用方法實(shí)例分析【4種方法】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章