首頁 > 後端開發 > php教程 > 在 PHP 中,如何僅按數組某些鍵值對數組進行排序,保留鍵名?

在 PHP 中,如何僅按數組某些鍵值對數組進行排序,保留鍵名?

PHPz
發布: 2024-05-04 09:03:01
原創
945 人瀏覽過

在 PHP 中根據鍵值對數組進行排序時,可以使用 uasort() 函數,接收一個回呼函數對鍵值進行比較,保留鍵名。例如,按員工薪酬對員工記錄排序,可以使用 uksort() 函數,從每個元素中提取薪酬值進行比較,從而按薪酬從低到高對記錄進行排序。

在 PHP 中,如何仅按数组某些键值对对数组进行排序,保留键名?

在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中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
解(語言不限)
來自於 1970-01-01 08:00:00
0
0
0
如何更改倒數計時中的影像
來自於 1970-01-01 08:00:00
0
0
0
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板