首頁 >後端開發 >php教程 >如何從平面數組中保留具有匹配列值的數組行?

如何從平面數組中保留具有匹配列值的數組行?

Linda Hamilton
Linda Hamilton原創
2024-10-24 04:17:02508瀏覽

How to Retain Array Rows with Matching Column Values from a Flat Array?

從單獨的平面數組中保留具有匹配列值的數組行

給定一個具有多列的數組$arr1 和第一個第一個數字二個平面數組$ arr2 包含特定列值的列表,目標是過濾$arr1 並僅提取特定列中的值與$arr2 中的元素相符的行。

解決方案:

為了有效地執行此任務,可以使用 array_uintersect()。此本機函數在比較期間利用排序演算法來提高執行速度。它需要兩個數組和一個自訂回調函數來確定比較邏輯。

在提供的程式碼中,回呼函數利用陣列解構來存取 $arr1 和 $arr2 的每個元素的 id 欄位。如果 id 列不存在,則預設為參數的值。

比較檢查兩個陣列中的 id 值是否相等,確保 $arr1 中的行與 $arr2 中的值相符。結果是僅包含 $arr1 中所需行的新陣列。

由於最小化的函數呼叫和最佳化的執行時間,這種方法為 in_array() 的迭代呼叫提供了卓越的效能。

以上是如何從平面數組中保留具有匹配列值的數組行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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