Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behalte ich Schlüsselnamen bei, nachdem ich das PHP-Array nach Wert sortiert habe?

Wie behalte ich Schlüsselnamen bei, nachdem ich das PHP-Array nach Wert sortiert habe?

PHPz
PHPzOriginal
2024-05-02 16:09:02580Durchsuche

Die Möglichkeit, ein Array in PHP nach Wert zu sortieren und dabei die Schlüsselnamen beizubehalten, besteht darin, die Funktion usort() zu verwenden, um das Array nach Wert zu sortieren. Der Funktion usort() wird eine anonyme Funktion als Vergleichsfunktion übergeben, die die Differenz der Elementwerte zurückgibt. usort() sortiert das Array nach einer anonymen Funktion, während die Schlüssel unverändert bleiben.

PHP 数组按值排序后如何保持键名?

Wie sortiere ich ein Array nach Wert in PHP und behalte Schlüsselnamen bei?

In PHP können Sie die Funktion asort() verwenden, um ein Array in aufsteigender Reihenfolge nach Wert zu sortieren, oder die Funktion arsort(), um ein Array in absteigender Reihenfolge zu sortieren Befehl. Allerdings zerstören beide Funktionen die Schlüssel im Array. asort() 函数根据值对数组进行升序排序,或使用 arsort() 函数进行降序排序。但是,这两个函数都会破坏数组中的键名。

如果要按值排序数组,同时保持键名,可以使用 usort() 函数,如下所示:

$arr = array(
    'a' => 10,
    'b' => 5,
    'c' => 20
);

usort($arr, function($a, $b) {
    return $a - $b;
});

print_r($arr);

输出:

Array
(
    [b] => 5
    [a] => 10
    [c] => 20
)

在上面的代码中:

  • usort() 接受两个参数:要排序的数组 $arr 和一个用于比较元素值的匿名函数。
  • 匿名函数接收两个元素 $a$b,并返回它们的差值。
  • usort()
  • Wenn Sie ein Array nach Wert sortieren und dabei die Schlüsselnamen beibehalten möchten, können Sie die Funktion usort() wie folgt verwenden:
  • $students = array(
        'John' => 90,
        'Jane' => 85,
        'Peter' => 95
    );
  • Ausgabe:
usort($students, function($a, $b) {
    return $a - $b;
});

Im obigen Code: usort() akzeptiert zwei Parameter: das Array zum Sortieren von $arr und eine anonyme Funktion zum Vergleichen der Elementwerte.

Die anonyme Funktion empfängt zwei Elemente $a und $b und gibt deren Differenz zurück.

usort() sortiert die Elemente im Array und verwendet dabei eine anonyme Funktion als Vergleichsfunktion.

Nach dem Sortieren bleiben die Schlüsselnamen im Array unverändert.

🎜🎜🎜Praktisches Beispiel🎜🎜🎜Stellen Sie sich ein Array mit Schülernoten vor: 🎜
Array
(
    [Jane] => 85
    [John] => 90
    [Peter] => 95
)
🎜Um die Schülernamen in aufsteigender Reihenfolge nach Note zu sortieren und dabei den Namen als Schlüssel beizubehalten, können Sie den folgenden Code verwenden: 🎜rrreee🎜Ausgabe: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie behalte ich Schlüsselnamen bei, nachdem ich das PHP-Array nach Wert sortiert habe?. 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