佳木斯湛栽影视文化发展公司

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

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

熱門(mén)標(biāo)簽:服務(wù)器配置 Linux服務(wù)器 電子圍欄 團(tuán)購(gòu)網(wǎng)站 Mysql連接數(shù)設(shè)置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云 銀行業(yè)務(wù)

本文實(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é)下來(lái),真正比較可行的還是方法1和方法4了,至于這兩種方法哪個(gè)更好,那就應(yīng)該是具體情況具體分析了。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《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)簽:衡水 衢州 江蘇 棗莊 廣元 蚌埠 萍鄉(xiāng) 大理

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

    • 400-1100-266
    康马县| 岳池县| 潞西市| 西林县| 彝良县| 开平市| 罗定市| 巴马| 花垣县| 库车县| 洞口县| 丰县| 镇宁| 龙海市| 千阳县| 历史| 调兵山市| 手机| 新建县| 红河县| 曲周县| 梅河口市| 疏勒县| 都兰县| 正安县| 体育| 泰顺县| 临高县| 屯昌县| 六安市| 福州市| 万荣县| 麟游县| 霞浦县| 桂东县| 侯马市| 广汉市| 徐州市| 陕西省| 闵行区| 霍山县|