Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich in PHP ein Array nur nach bestimmten Schlüsselwertpaaren des Arrays und behalte dabei die Schlüsselnamen bei?

Wie sortiere ich in PHP ein Array nur nach bestimmten Schlüsselwertpaaren des Arrays und behalte dabei die Schlüsselnamen bei?

PHPz
PHPzOriginal
2024-05-04 09:03:01858Durchsuche

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.

在 PHP 中,如何仅按数组某些键值对对数组进行排序,保留键名?

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!

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