溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何刪除php一維數(shù)組中某一個(gè)值元素

發(fā)布時(shí)間:2020-08-07 09:45:25 來(lái)源:億速云 閱讀:177 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何刪除php一維數(shù)組中某一個(gè)值元素,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

php刪除一維數(shù)組中某一個(gè)值元素的方法:1、使用for循環(huán)語(yǔ)句,函數(shù)【array_merge()】去除值,代碼為【$arr = array_merge($arr)】;2、使用函數(shù)【array_splice】自動(dòng)實(shí)現(xiàn)重置序列值。

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

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

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

<?php
$tmp = '324';
$arr = array(
'0' => '321',
'1' => '322',
'2' => '323',
'3' => '324',
'4' => '325',
'5' => '326',
);

代碼

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
)

array_merge()也可以實(shí)現(xiàn)同樣的效果

foreach( $arr as $k=>$v) {
 if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>
Array
(
 [0] => 321
 [1] => 322
 [2] => 323
 [3] => 325
 [4] => 326
)

2.優(yōu)先使用php自帶函數(shù),因?yàn)槟鞘怯肅實(shí)現(xiàn)的,比自己寫(xiě)效率高。

使用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);


上述就是小編為大家分享的如何刪除php一維數(shù)組中某一個(gè)值元素了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI