1. 自己寫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); ?>
此時(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);
以上這篇php 刪除一維數(shù)組中某一個(gè)值元素的操作方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持。
您可能感興趣的文章:
- PHP刪除數(shù)組中特定元素的兩種方法
- PHP刪除數(shù)組中的特定元素的代碼
- php中刪除數(shù)組的第一個(gè)元素和最后一個(gè)元素的函數(shù)
- php實(shí)現(xiàn)搜索一維數(shù)組元素并刪除二維數(shù)組對(duì)應(yīng)元素的方法
- PHP刪除數(shù)組中空值的方法介紹
- php數(shù)組中刪除元素之重新索引的方法
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。