在 PHP 中根據鍵值對數組進行排序時,可以使用 uasort() 函數,接收一個回呼函數對鍵值進行比較,保留鍵名。例如,按員工薪酬對員工記錄排序,可以使用 uksort() 函數,從每個元素中提取薪酬值進行比較,從而按薪酬從低到高對記錄進行排序。
在PHP 中根據鍵值對陣列進行特定鍵排序
有時,在PHP 中對陣列進行排序時,我們需要根據特定的鍵值對對其進行排序,同時保留鍵名。本文將介紹如何實現這一目標。
<?php // 创建一个数组 $arr = [ 'a' => 1, 'b' => 3, 'c' => 2, 'd' => 4, ]; // 使用 uasort() 函数,接收一个回调函数 uksort($arr, function($a, $b) use ($arr) { return $arr[$a] <=> $arr[$b]; }); // 打印排序后的数组,保留键名 print_r($arr);
實戰案例:按員工薪酬對員工記錄進行排序
#假設有一個包含員工記錄的陣列:
$employees = [ 'John Doe' => ['salary' => 50000], 'Jane Smith' => ['salary' => 40000], 'Peter Jones' => ['salary' => 60000], ];
為了按薪酬對員工記錄進行排序,我們使用額外的匿名函數從數組中的每個元素中提取薪酬:
// 按薪酬排序 uksort($employees, function($a, $b) use ($employees) { return $employees[$a]['salary'] <=> $employees[$b]['salary']; });
現在,$employees
數組將按員工薪酬從低到高進行排序,同時保留員工姓名鍵名。
以上是在 PHP 中,如何僅按數組某些鍵值對數組進行排序,保留鍵名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!