php如何刪除一維數組中某一個值元素

coldplay.xixi
發布: 2023-03-03 22:06:02
原創
2991 人瀏覽過

php刪除一維數組中某一個值元素的方法:1、使用for循環語句,函數【array_merge()】去除值,代碼為【$arr = array_merge($arr)】;2、使用函數【array_splice】自動實現重置序列值。

php如何刪除一維數組中某一個值元素

php刪除一維數組中某一個值元素的方法:

1. 自己寫for循環

從array裡去掉$tmp這個元素的值

 '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); ?>
登入後複製

此時結果

Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
登入後複製
登入後複製
登入後複製
登入後複製

array_merge()也可以實現相同的效果

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.優先使用php自帶函數,因為那是用C實現的,比自己寫效率高。

使用array_search和array_splice,這裡array_splice自動實作重置序列值。

$key=array_search($tmp ,$arr); array_splice($arr,$key,1); var_dump($arr);
登入後複製

此時結果

Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
登入後複製
登入後複製
登入後複製
登入後複製

最佳實踐

$arr = array_merge(array_diff($arr, array($tmp))); var_dump($arr);
登入後複製

結果

Array ( [0] => 321 [1] => 322 [2] => 323 [3] => 325 [4] => 326 )
登入後複製
登入後複製
登入後複製
登入後複製

這裡,如果陣列元素是複雜資料結構,同樣能夠實現比較。當然數據本身仍然是一維的。

上面的範例中$tmp是一個值,如果$tmp是一個陣列或其他複雜資料結構,從$array中刪除所有$tmp包含的元素,上面的方法同樣有效

$arr = array_merge(array_diff($arr, $tmp)); var_dump($arr);
登入後複製

相關學習推薦:php程式設計(影片)

#

以上是php如何刪除一維數組中某一個值元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!