首頁 >後端開發 >php教程 >如何過濾 PHP 陣列以僅保留具有特定值的元素,同時保留原始鍵?

如何過濾 PHP 陣列以僅保留具有特定值的元素,同時保留原始鍵?

DDD
DDD原創
2024-12-23 21:06:11898瀏覽

How Can I Filter a PHP Array to Keep Only Elements with a Specific Value, Preserving Original Keys?

使用 PHP 依照值條件過濾陣列

可以使用 PHP 內建函數依照指定條件過濾陣列。考慮以下場景:

目標:

過濾陣列以保留值等於 2 的元素並刪除所有其他元素,保留原始鍵。

原創陣列:

$fullArray = array('a' => 2, 'b' => 4, 'c' => 2, 'd' => 5, 'e' => 6, 'f' => 2);

預期結果:

array('a' => 2, 'c' => 2, 'f' => 2);

解:

要達成此目的,我們可以利用array_filter() 函數和自訂回呼函數來評估值條件。以下是一個範例:

function filterArray($value){
    return ($value == 2);
}

$filteredArray = array_filter($fullArray, 'filterArray');

foreach($filteredArray as $k => $v){
    echo "$k = $v";
}

在此解中:

  • filterArray() 函數充當array_filter() 的回呼函數,根據條件測試每個元素的值(傳回true 等於2)。
  • array_filter() 函數將回調應用於每個元素並傳回一個僅包含通過條件的元素。
  • 產生的 $filteredArray 包含所需的元素,並保留原始鍵。
  • 最後,循環迭代過濾後的陣列以顯示過濾後的元素。

此解決方案提供了一種簡單且高效的方法來根據特定值條件過濾數組,保留原始鍵,從而滿足所需的結果。

以上是如何過濾 PHP 陣列以僅保留具有特定值的元素,同時保留原始鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn