從單獨的平面數組中保留具有匹配列值的數組行
給定一個具有多列的數組$arr1 和第一個第一個數字二個平面數組$ arr2 包含特定列值的列表,目標是過濾$arr1 並僅提取特定列中的值與$arr2 中的元素相符的行。
解決方案:
為了有效地執行此任務,可以使用 array_uintersect()。此本機函數在比較期間利用排序演算法來提高執行速度。它需要兩個數組和一個自訂回調函數來確定比較邏輯。
在提供的程式碼中,回呼函數利用陣列解構來存取 $arr1 和 $arr2 的每個元素的 id 欄位。如果 id 列不存在,則預設為參數的值。
比較檢查兩個陣列中的 id 值是否相等,確保 $arr1 中的行與 $arr2 中的值相符。結果是僅包含 $arr1 中所需行的新陣列。
由於最小化的函數呼叫和最佳化的執行時間,這種方法為 in_array() 的迭代呼叫提供了卓越的效能。
以上是如何從平面數組中保留具有匹配列值的數組行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!