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

元のキー名を保持しながら、PHP を使用して特定のキーと値のペアに基づいて配列を並べ替えるにはどうすればよいですか?

PHPz
PHPzオリジナル
2024-04-30 16:30:02509ブラウズ

PHP uasort 関数を使用し、元のキー名を保持しながら、配列内の特定のキー値に従って配列を並べ替える比較関数を提供します。具体的な手順は次のとおりです: 2 つのキーと値のペアをパラメーターとして受け取り、整数を返す比較関数を定義します。uasort 関数を呼び出して、並べ替える配列を渡します。並べ替えられた配列は元のキーを保持します。名前。

如何使用 PHP 根据数组中某个具体键值对进行排序,保留原始键名?

#PHP を使用して、元のキー名を保持しながら、配列内の特定のキーと値のペアに従って並べ替えるにはどうすればよいですか?

PHP では、uasort 関数を使用して、元のキー名を保持しながら、配列内の特定のキーと値のペアに従って並べ替えます。構文は次のとおりです:

uasort(array $array, callable $value_compare_func)

ここで:

  • array 並べ替える配列
  • value_compare_func 比較関数これは、配列内の 2 つのキーと値のペアを比較するために使用されます。

比較関数は、2 つのパラメーター (配列内の 2 つの要素のキーと値のペア) を受け取り、整数を返す必要があります。

  • -1 最初のキーと値のペアを 2 番目のキーと値のペアの前に並べ替える必要がある場合
  • 0 両方のキーがキーである場合-value ペア 等しい場合
  • 1 最初のキーと値のペアを 2 番目のキーと値のペアの後にランク付けする必要がある場合

実用的なケース

学生の情報と成績を含む $data という名前の配列があるとします。

$data = [
    'John Doe' => 85,
    'Jane Smith' => 90,
    'Bob Jones' => 75
];

次のコードを使用して、成績に基づいて配列を並べ替えることができます。元のキー名を保持したまま:

uasort($data, function($a, $b) {
    return $a - $b;
});

ソートされた配列は次のようになります:

print_r($data);
// 输出:
// Array
// (
//     [Jane Smith] => 90
//     [John Doe] => 85
//     [Bob Jones] => 75
// )

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

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