首頁 > 後端開發 > php教程 > 如何按值而不是鍵從 PHP 陣列中刪除元素?

如何按值而不是鍵從 PHP 陣列中刪除元素?

Barbara Streisand
發布: 2024-12-23 19:46:10
原創
276 人瀏覽過

How Can I Remove an Element from a PHP Array by Value, Not Key?

按值(非鍵)從PHP 數組中刪除元素

在PHP 中處理數組時,通常需要根據值刪除他們元素的價值觀而不是他們的鑰匙。考慮這樣一個陣列:

$messages = [312, 401, 1599, 3, ...];
登入後複製

由於這個陣列中的值是唯一的,我們如何在不知道其鍵的情況下選擇性地刪除具有特定值的元素?

解決方案:使用 array_search() 和 unset()

PHP 為此提供了兩個有用的函數: array_search() 和取消設定()。這些函數的組合允許我們搜尋元素的鍵,然後將其從陣列中刪除。它的工作原理如下:

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}
登入後複製

此程式碼使用 array_search() 尋找值為 $del_val 的元素的鍵。如果找不到該鍵,則 array_search() 傳回 FALSE。但是,我們使用嚴格的比較運算子 !== 來確保僅當 array_search() 明確傳回 FALSE 時表達式才會計算為 true,從而避免 false-y 值(例如,鍵 0)。

如果鍵是發現,unset()函數用於從$messages陣列中刪除該元素。需要注意的是,unset() 是透過 key 來運作的,這就是為什麼我們需要先從 array_search() 取得 key。

以上是如何按值而不是鍵從 PHP 陣列中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板