ホームページ  >  記事  >  バックエンド開発  >  PHP で、キー名を保持したまま、配列の特定のキーと値のペアのみで配列を並べ替えるにはどうすればよいですか?

PHP で、キー名を保持したまま、配列の特定のキーと値のペアのみで配列を並べ替えるにはどうすればよいですか?

PHPz
PHPzオリジナル
2024-05-04 09:03:01868ブラウズ

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 配列が従業員の給与によってソートされます。従業員名のキーを保持したまま、 low から high に変更します。

以上がPHP で、キー名を保持したまま、配列の特定のキーと値のペアのみで配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。