php 刪除一維數(shù)組中某一個(gè)值元素的操作方法

從array里去掉$tmp這個(gè)元素的值

$tmp = '324';
$arr = [
    '0' => '321',
    '1' => '322',
    '2' => '323',
    '3' => '324',
    '4' => '325',
    '5' => '326',
];

1. 自己寫for循環(huán)

foreach($arr as $k => $v){
    if($tmp == $v){
        unset($arr[$k]);
    }
}
print_r($arr);

此時(shí)返回

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [4] => 325
 [5] => 326
)

要重置索引,加上一句

foreach($arr as $k => $v){
    if($tmp == $v){
        unset($arr[$k]);
    }
}
$arr = array_values($arr);
print_r($arr);
?>

此時(shí)結(jié)果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

2.優(yōu)先使用php自帶函數(shù),因?yàn)槟鞘怯肅實(shí)現(xiàn)的,比自己寫效率高。
使用array_search和array_splice,這里array_splice自動(dòng)實(shí)現(xiàn)重置序列值。

$key = array_search($tmp, $arr);
array_splice($arr, $key, 1);
var_dump($arr);

此時(shí)結(jié)果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

最佳實(shí)踐

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);

結(jié)果

Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

這里,如果數(shù)組元素是復(fù)雜數(shù)據(jù)結(jié)構(gòu),同樣能夠?qū)崿F(xiàn)比較。當(dāng)然數(shù)據(jù)本身仍然是一維的。
上面的例子中$tmp是一個(gè)值,如果$tmp是一個(gè)數(shù)組或者其他復(fù)雜數(shù)據(jù)結(jié)構(gòu),從$array中刪除所有$tmp包含的元素,上面的方法同樣有效

$arr = array_merge(array_diff($arr, $tmp));
var_dump($arr);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載:在開發(fā)中,數(shù)組的使用場景非常多,平日中也涉及到很多數(shù)組的api/相關(guān)操作,一直也沒有對(duì)這塊內(nèi)容進(jìn)行一塊整理總...
    七色煙火閱讀 3,241評(píng)論 0 3
  • PHP 刪除數(shù)組中的元素array_splice()函數(shù)刪除的話,數(shù)組的索引值也變化了。unset()函數(shù)刪除的話...
    _fhs閱讀 290評(píng)論 0 0
  • 幾乎任何一門編程語言都有數(shù)組,它是計(jì)算機(jī)編程中最常見的數(shù)據(jù)結(jié)構(gòu)。因?yàn)閿?shù)組是編程語言自帶的,通常效率很高,能夠滿足不...
    展白說閱讀 576評(píng)論 0 1
  • 前言 在開發(fā)中,數(shù)組的使用場景非常多,平日中也涉及到很多數(shù)組的api/相關(guān)操作,一直也沒有對(duì)這塊內(nèi)容進(jìn)行一塊整理總...
    為光pig閱讀 640評(píng)論 0 9
  • 一、數(shù)組定義 array() 1、索引數(shù)組 在一個(gè)變量中,存儲(chǔ)一個(gè)或多個(gè)值。數(shù)組中的每一個(gè)元素都有一個(gè)訪問ID,根...
    竹與豆閱讀 545評(píng)論 0 0