使用引用數組自訂數組排序
在PHP 中,可以透過多種方式對數組進行排序,但對它們進行排序可能具有挑戰性基於不同數組的特定順序。本文提供了此問題的解決方案,解釋如何根據預先定義的鍵順序對平面關聯數組進行排序。
建議的解法利用 array_merge 或 array_replace 函數。這些函數採用兩個陣列作為參數:第一個陣列指定所需的順序(以鍵值對的形式),第二個陣列包含要排序的實際資料。
以下是這些函數的工作原理:
array_merge: 它透過從訂單數組開始並使用實際資料覆蓋或添加鍵來合併兩個數組array.
array_replace: 它與array_merge相同,但僅覆蓋現有鍵。
考慮以下範例:
$customer['address'] = '123 fake st'; $customer['name'] = 'Tim'; $customer['dob'] = '12/08/1986'; $customer['dontSortMe'] = 'this value doesnt need to be sorted'; $properOrderedArray = array_merge(array_flip(array('name', 'dob', 'address')), $customer);
在此例如,array_flip 建立一個數組,其中元素('name'、'dob'、'address')成為鍵,鍵變成值。這充當訂單數組。透過將此訂單數組與 $customer 合併,將使用所需的鍵順序產生 $properOrderedArray,同時保留實際資料。
產生的$properOrderedArray 將是:
array( 'name' => 'Tim', 'dob' => '12/08/1986', 'address' => '123 fake st', 'dontSortMe' => 'this value doesnt need to be sorted')
此方法允許用於基於任何預定義順序數組對平面關聯數組進行靈活排序,確保鍵及其對應值的正確排序。
以上是如何根據預先定義的鍵順序對 PHP 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!