Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich mit PHP ein Array basierend auf einem bestimmten Schlüssel-Wert-Paar und behalte dabei die ursprünglichen Schlüsselnamen bei?

Wie sortiere ich mit PHP ein Array basierend auf einem bestimmten Schlüssel-Wert-Paar und behalte dabei die ursprünglichen Schlüsselnamen bei?

PHPz
PHPzOriginal
2024-04-30 16:30:02509Durchsuche

Verwenden Sie die PHP-Uasort-Funktion und stellen Sie eine Vergleichsfunktion bereit, um das Array nach den spezifischen Schlüsselwerten im Array zu sortieren und dabei die ursprünglichen Schlüsselnamen beizubehalten. Die spezifischen Schritte sind wie folgt: Definieren Sie eine Vergleichsfunktion, die zwei Schlüssel-Wert-Paare als Parameter akzeptiert und eine Ganzzahl zurückgibt. Rufen Sie die Funktion uasort auf und übergeben Sie das zu sortierende Array. Das sortierte Array behält dann den ursprünglichen Schlüssel bei Namen.

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

Wie sortiere ich mit PHP nach einem bestimmten Schlüssel-Wert-Paar in einem Array und behalte dabei den ursprünglichen Schlüsselnamen bei?

Verwenden Sie in PHP die Funktion uasort, um nach einem bestimmten Schlüssel-Wert-Paar im Array zu sortieren und dabei den ursprünglichen Schlüsselnamen beizubehalten. Hier ist die Syntax: uasort 函数可以根据数组中某个具体键值对进行排序,同时保留原始键名。下面是它的语法:

uasort(array $array, callable $value_compare_func)

其中:

  • array 要排序的数组
  • value_compare_func 一个比较函数,它将被用来比较数组中的两个键值对

比较函数应该接受两个参数(数组中两个元素的键值对)并返回一个整数:

  • -1 如果第一个键值对应该排在第二个键值对之前
  • 0 如果两个键值对相等
  • 1 如果第一个键值对应该排在第二个键值对之后

实战案例

假设我们有一个名为 $data

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

wobei:

  • array Das zu sortierende Array
  • value_compare_func Eine Vergleichsfunktion, die Will verwendet werden, um zwei Schlüssel-Wert-Paare im Array zu vergleichen
Die Vergleichsfunktion sollte zwei Parameter (die Schlüssel-Wert-Paare der beiden Elemente im Array) akzeptieren und eine Ganzzahl zurückgeben:

    -1🎜 Wenn das erste Schlüssel-Wert-Paar vor dem zweiten Schlüssel-Wert-Paar sortiert werden soll
  • 🎜0🎜 Wenn die beiden Schlüssel-Wert-Paare gleich sind
  • 🎜1🎜 Wenn das erste Schlüssel-Wert-Paar nach dem zweiten Schlüssel-Wert-Paar sortiert werden soll
🎜🎜Praktischer Fall🎜🎜🎜Angenommen, wir haben ein Array mit dem Namen $data, Dies enthält Schülerinformationen und ihre Noten: 🎜
uasort($data, function($a, $b) {
    return $a - $b;
});
🎜 Wir können den folgenden Code verwenden, um das Array nach Noten zu sortieren und dabei die ursprünglichen Schlüsselnamen beizubehalten: 🎜
print_r($data);
// 输出:
// Array
// (
//     [Jane Smith] => 90
//     [John Doe] => 85
//     [Bob Jones] => 75
// )
🎜Das sortierte Array sieht folgendermaßen aus: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie sortiere ich mit PHP ein Array basierend auf einem bestimmten Schlüssel-Wert-Paar und behalte dabei die ursprünglichen Schlüsselnamen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn