php刪除數組的某個元素 PHP如何實現刪除數組元素和重新索引?
PHP如何實現刪除數組元素和重新索引?如果要刪除數組中的元素,可以直接使用unset。lt?php $arr數組(a,b,c,d) unset($arrPHP如何實現刪除數組元素和重新索引?) pri
PHP如何實現刪除數組元素和重新索引?
如果要刪除數組中的元素,可以直接使用unset。
lt?php $arr數組(a,b,c,d) unset($arr
PHP如何實現刪除數組元素和重新索引?
) print_r($arr)?gt print _ r($arr)之后的結果不是這樣的,最后的結果是Array ([0] gt a
PHP獲取數組最后一個值,不改變原數組,應該怎么做?
gt c : gt d)。那么,我們如何確保缺失的元素將被填充,數組將被重新索引呢?答案是
array_splice():
lt?php $arr array(a,b,c,d) array_splice($arr,1,1) print_r($arr)?大型旅行車的
After printing _ r ($ arr), the result is A()rray ([0] gt a
PHP如何實現刪除數組元素和重新索引?
gt cPHP獲取數組最后一個值,不改變原數組,應該怎么做?
gt d).刪除數組中的指定元素
Array_search()比較實用。
array_search()函數在數組中查找鍵值,就像in_array()一樣。如果找到這個值,將返回匹配元素的鍵名。如果沒有找到,則返回false$array數組(1,2,3,4,5)$ del _ value 3 unset($ array[array _ search($ del _ value,$array)])//利用復原刪除這個元素print_r($array)輸出阿肯色州Ray (1, 2, 4, 5)
但是如果要重新索引數組,就需要用foreach遍歷被刪除的數組,然后重新構建一個數組,也是可以的。
_shift函數:將數組的第一個單元格移出并返回結果,數組長度減一,其他單元格前移一位。所有數字鍵將從零開始計數,而文字鍵名稱不會改變。
_splice函數:將數組中選中的元素移出,不保留原來的鍵名。
PHP獲取數組最后一個值,不改變原數組,應該怎么做?
簡介我們喜歡PHP中的數組操作。為什么?因為在PHP編程中你幾乎每時每刻都在和數組打交道,所以很大一部分和數組操作熟練程度相關的因素是好是壞。
今天我們將討論如何在不刪除的情況下獲取數組的最后一個元素。
唐 不要低估這個需求,也許你可以。;I don'我做得不對
學習時間如果你首先想到的是array_pop,很遺憾,這個函數可以得到最后一個元素,但是它改變了數組。
Array_pop彈出并返回數組Array的最后一個單元格,數組array的長度減一。如果array為空(或者不是數組),它將返回NULL。另外,如果被叫不是一個號碼,就會產生一個War。Ning
這顯然不是我們想要的結果。
其實實現一個需求有很多種,我們嘗試用10種不同的來做到這一點。
$x array value (array slice ($array, -1))[0]
首先,使用array_slice截取數組$array的最后一個元素。返回一個數組。然后使用array_values重新排列索引值。因為數組只有一個元素,所以索引值必須為0。原始數組$array毫發無損。
$x array_slice($array,-1)[0]
第二種方法不考慮關聯數組的情況,有可能索引0不存在。所以容錯性不好。
$ x array _ pop((array _ slice($ array,-1)))
第三種方法,最后用了array_pop。但它是在array_slice階段的數組上使用的。
$ x array _ pop((array _ slice($ array,-1,1)))
第四種方法簡直神奇。與第三種方法相比,它只是手動指定array_slice截斷的長度為1。
$x結束($數組)重置($array)
第五種方法使用數組指針。End返回最后一個元素。然后需要手動恢復指針位置到頭部,所以調用一次reset函數。此方法可能返回一個關聯數組,但它無法獲取值。
$x end ((array value ($ array)))
第六種方法,嚴格地說是為了返回最后一個元素的值,使用array_values重新排列索引。
$x $array[count($array)-1]
第七種方法是直接使用索引。必須假設所有數組都是默認增量索引的數組,所以count得到的長度是有效的。這種方法容錯性差。
$ keys array _ keys($ array)$ x $ array[$ keys[count($ keys)-1]]
第八種方法是彌補第七種方法的不足。
$x $array[] array_pop($array)
第九種方法,我們要明白,用的是級聯復制,array_pop彈出數組的最后一個元素,同時賦給$x。那個 沒問題。給原始數組$array[]賦值會重新排列關聯數組的索引,所以有副作用。
$ x $ array[array _ key _ last($ array)]
第十,這個方法也是極其容錯的,因為使用了array_key_last,有效的考慮了關聯數組的情況,結果也很棘手。這個方法很棒。但是只有PHP 7.3以上的版本才有。
寫在最后。讓 總結以上10種方法的優缺點,互相學習。;的長處,并深入學習。
Happy coding :_)
我是@程序員 的助手,我繼續分享我的編程知識。歡迎關注。