根據索引數組中的鍵過濾關聯數組
在PHP 中,array_filter() 提供了一個基於索引數組中的鍵過濾關聯數組的便捷方法關於他們的價值觀。然而,函數只考慮值,讓程式設計師尋找一種根據一組允許的值來過濾鍵的方法。這個問題解決了這個挑戰。
給定一個關聯數組 ($my_array) 和一個允許鍵的索引數組 ($allowed),任務是從 $my_array 中刪除 $allowed 中不存在的所有鍵。所需的輸出是一個 $my_array,僅包含在 $allowed 中找到鍵的鍵值對。
解:
答案建議使用兩個陣列運算子:
$filtered_array = array_intersect_key($my_array, array_flip($allowed));這裡, array_flip($allowed) 建立一個新數組,其中$allowed中的值成為鍵,而鍵成為值。 array_intersect_key($my_array, ...) 然後將 $my_array 與翻轉後的陣列進行比較,傳回一個僅包含允許的鍵作為鍵及其關聯值的陣列。
範例:
使用提供的範例:$my_array = array("foo" => 1, "hello" => "world"); $allowed = array("foo", "bar");產生的 $filtered_array 將會是:
以上是如何根據索引數組中的鍵在 PHP 中過濾關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!