2018-09-06 16:31:20 1139瀏覽
最近有小伙伴在扣丁學(xué)堂官網(wǎng)留言咨詢問題,小伙伴詢問扣丁學(xué)堂PHP培訓(xùn)老師關(guān)于PHP刪除一維數(shù)組中某一個值元素的操作的方法,小編整理了一下,現(xiàn)在就和大家分享一下如何刪除一維數(shù)組中某一個值元素吧,對PHP開發(fā)感興趣的小伙伴下面就隨小編一起來看一下吧。
1、自己寫for循環(huán):
從array里去掉$tmp這個元素的值
<?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); ?>
此時:
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); ?>
此時結(jié)果:
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
array_merge()也可以實現(xiàn)同樣的效果:
foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } $arr = array_merge($arr); print_r($arr); ?>
此時結(jié)果:
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
2、優(yōu)先使用php自帶函數(shù),因為那是用C實現(xiàn)的,比自己寫效率高。
使用array_search和array_splice,這里array_splice自動實現(xiàn)重置序列值。
$key=array_search($tmp ,$arr); array_splice($arr,$key,1); var_dump($arr);
此時結(jié)果:
Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
最佳實踐:
$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是一個值,如果$tmp是一個數(shù)組或者其他復(fù)雜數(shù)據(jù)結(jié)構(gòu),從$array中刪除所有$tmp包含的元素,上面的方法同樣有效:
$arr = array_merge(array_diff($arr, $tmp)); var_dump($arr);
以上就是扣丁學(xué)堂PHP在線學(xué)習(xí)小編給大家分享的PHP刪除一維數(shù)組中某一個值元素的操作方法,希望對小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢。
想要學(xué)好PHP開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的PHP學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時俱進的PHP課程體系和PHP視頻教程供學(xué)員觀看學(xué)習(xí),想要學(xué)好PHP開發(fā)技術(shù)的小伙伴快快行動吧??鄱W(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>