青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

教你刪除數組最后一位 php刪除數組最后一個元素使用什么方法


引言 PHP 數組操作,之前我們講了如何根據值,進行多維數組的排序 。今天說一說,如何根據值,進行數組元素的刪除 。
學習時間 假設有一個一維數組,單純的數字數組 。為了簡化問題,我們假設數組元素沒有重復項 。
$messages = [312, 401, 1599, 3, ...]; 那么該如何移除 “401”這個元素呢?
最簡單的辦法,應該使用 array_search 和 unset 兩個函數完成,代碼這樣寫:
if (($key = array_search($del_val, $messages)) !== false) {unset($messages[$key]);} 函數 array_search 是在數組中搜索給定的值,如果成功則返回相應的鍵名 。如果沒有找到匹配的值,則返回false 。
我們使用變量 $key 獲取 array_search 的返回值,如果不是 false,那么就是存在 。然后調用 unset 函數進行刪除即可 。
【教你刪除數組最后一位 php刪除數組最后一個元素使用什么方法】需要注意的是,比較運算符一定是使用“!==”這個不全等于號,否則如果返回了數組索引 0,也會被判斷為空,即 0 == false 。
其他方法 換一種方法處理 。我們嘗試使用 array_diff 函數,計算差集,可以刪除任意多個元素的值:
array_diff( [312, 401, 15, 401, 3], [401] ) 但是這個函數會有副作用,就是返回值是新的數組,保持索引鍵值不變 。同時,原數組內容保持不變 。
深入使用 上面我們給定的前提非常簡單,就是加入數組內都是不同的數據 。實際應用中,很難保證這一點 。除非是模型返回的主鍵,或者做了 unique 約束的字段,否則不能保證數據集內沒有相同的值 。
手冊上也說了,這樣根據值移除數據內所有對應元素的,應該使用 array_keys 函數 。
foreach (array_keys($messages, 401, true) as $key) {unset($messages[$key]);} 函數 array_keys 第三個參數為可選項,用于標記是否嚴格篩選模式 。
寫在最后 本文通過不同的方法,演示了如何從數組中,根據值移除相應元素的方法 。
Happy coding :_)

    猜你喜歡