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
配列が従業員の給与によってソートされます。従業員名のキーを保持したまま、 low から high に変更します。
以上がPHP で、キー名を保持したまま、配列の特定のキーと値のペアのみで配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。