Beim Sortieren eines Arrays nach Schlüssel-Wert-Paaren in PHP können Sie die Funktion uasort() verwenden, um eine Rückruffunktion zu erhalten, um die Schlüsselwerte zu vergleichen und die Schlüsselnamen beizubehalten. Um beispielsweise Mitarbeiterdatensätze nach ihrem Gehalt zu sortieren, können Sie mit der Funktion uksort() den Gehaltswert aus jedem Element zum Vergleich extrahieren und so die Datensätze von niedrigem zu hohem Gehalt sortieren.
Sortieren Sie das Array basierend auf dem Schlüsselwertpaar in PHP.
Manchmal müssen wir beim Sortieren des Arrays in PHP es basierend auf einem bestimmten Schlüsselwertpaar sortieren und dabei die Schlüsselnamen beibehalten. In diesem Artikel wird erläutert, wie Sie dieses Ziel erreichen.
<?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);
Praktischer Fall: Sortieren von Mitarbeiterdatensätzen nach Mitarbeitergehalt
Angenommen, es gibt ein Array mit Mitarbeiterdatensätzen:
$employees = [ 'John Doe' => ['salary' => 50000], 'Jane Smith' => ['salary' => 40000], 'Peter Jones' => ['salary' => 60000], ];
Um Mitarbeiterdatensätze nach Gehalt zu sortieren, verwenden wir eine zusätzliche anonyme Funktion, um jedes Element aus dem Array zu entfernen Gehalt aus Elementen extrahieren:
// 按薪酬排序 uksort($employees, function($a, $b) use ($employees) { return $employees[$a]['salary'] <=> $employees[$b]['salary']; });
Jetzt wird das $employees
-Array nach Mitarbeitergehalt von niedrig nach hoch sortiert, wobei der Mitarbeiternamenschlüssel beibehalten wird.
Das obige ist der detaillierte Inhalt vonWie sortiere ich in PHP ein Array nur nach bestimmten Schlüsselwertpaaren des Arrays und behalte dabei die Schlüsselnamen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!