Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich in PHP ein Array basierend auf dem Vergleich von Array-Werten?

Wie sortiere ich in PHP ein Array basierend auf dem Vergleich von Array-Werten?

WBOY
WBOYOriginal
2024-05-03 09:06:01879Durchsuche

Die Methoden zum Sortieren von Arrays in PHP sind: Verwenden Sie die Funktion sort(), um in aufsteigender Reihenfolge zu sortieren. Verwenden Sie die Funktion rsort(), um in absteigender Reihenfolge zu sortieren. Verwenden Sie die Funktion asort(), um Werte in einem assoziativen Array in aufsteigender Reihenfolge zu sortieren. Verwenden Sie die Funktion arsort(), um Werte für ein assoziatives Array in absteigender Reihenfolge zu sortieren. Verwenden Sie benutzerdefinierte Vergleichsfunktionen für eine komplexere Sortierung.

在 PHP 中,如何根据数组值的比较对数组进行排序?

So sortieren Sie ein PHP-Array basierend auf dem Vergleich von Array-Werten

In PHP gibt es mehrere Möglichkeiten, ein Array basierend auf dem Vergleich von Array-Werten zu sortieren. In diesem Artikel wird die Verwendung der integrierten Funktionen sort(), rsort(), asort(), arsort( ) und Eine gängige Methode zum Sortieren eines Arrays ist die Verwendung einer benutzerdefinierten Vergleichsfunktion. sort()rsort()asort()arsort() 和自定义比较函数对数组进行排序的常见方法。

使用 sort() 函数:

sort() 函数对数组中的值进行从小到大的升序排列。

$arr = [3, 5, 2, 7, 1];
sort($arr);
print_r($arr); // 输出: [1, 2, 3, 5, 7]

使用 rsort() 函数:

rsort() 函数对数组中的值进行从大到小的降序排列。

$arr = [3, 5, 2, 7, 1];
rsort($arr);
print_r($arr); // 输出: [7, 5, 3, 2, 1]

使用 asort() 函数:

asort() 函数对关联数组中的值进行从小到大的升序排列,键保持不变。

$arr = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];
asort($arr);
print_r($arr); 
// 输出: [
//     "age" => 30,
//     "city" => "New York",
//     "name" => "John"
// ]

使用 arsort() 函数:

arsort() 函数对关联数组中的值进行从大到小的降序排列,键保持不变。

$arr = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];
arsort($arr);
print_r($arr); 
// 输出: [
//     "name" => "John",
//     "city" => "New York",
//     "age" => 30
// ]

使用自定义比较函数:

对于更复杂的排序要求,可以使用自定义比较函数。比较函数接受两个参数,并返回 -1、0 或 1,具体取决于第一个参数是否小于、等于或大于第二个参数。

function custom_sort($a, $b) {
    return strcmp($a["name"], $b["name"]);
}

$arr = [
    ["name" => "John", "age" => 30],
    ["name" => "Mary", "age" => 25],
    ["name" => "Bob", "age" => 35]
];
usort($arr, "custom_sort");
print_r($arr); 
// 输出: [
//     ["name" => "Bob", "age" => 35],
//     ["name" => "John", "age" => 30],
//     ["name" => "Mary", "age" => 25]
// ]

实战案例:

以下是一个实战案例,展示了如何使用 sort()

🎜Verwenden Sie die Funktion sort(): 🎜🎜🎜Die Funktion sort() sortiert die Werte im Array in aufsteigender Reihenfolge von klein nach groß. 🎜
$characters = [
    ["name" => "Mario", "level" => 5],
    ["name" => "Luigi", "level" => 3],
    ["name" => "Donkey Kong", "level" => 7]
];

sort($characters);
print_r($characters); 
// 输出: [
//     ["name" => "Donkey Kong", "level" => 7],
//     ["name" => "Luigi", "level" => 3],
//     ["name" => "Mario", "level" => 5]
// ]
🎜🎜Verwenden Sie die Funktion rsort(): 🎜🎜🎜rsort() Die Funktion sortiert die Werte im Array in absteigender Reihenfolge von groß nach klein. 🎜rrreee🎜🎜Verwenden Sie die Funktion asort(): 🎜🎜🎜asort() Die Funktion sortiert die Werte im assoziativen Array in aufsteigender Reihenfolge von klein nach groß. und die Tasten bleiben unverändert. 🎜rrreee🎜🎜Verwenden Sie die Funktion arsort(): 🎜🎜🎜arsort() Die Funktion sortiert die Werte im assoziativen Array in absteigender Reihenfolge von groß nach klein. und die Tasten bleiben unverändert. 🎜rrreee🎜🎜Benutzerdefinierte Vergleichsfunktionen verwenden: 🎜🎜🎜Für komplexere Sortieranforderungen können Sie benutzerdefinierte Vergleichsfunktionen verwenden. Die Vergleichsfunktion akzeptiert zwei Argumente und gibt -1, 0 oder 1 zurück, je nachdem, ob das erste Argument kleiner, gleich oder größer als das zweite Argument ist. 🎜rrreee🎜🎜Ein praktischer Fall: 🎜🎜🎜Das Folgende ist ein praktischer Fall, der zeigt, wie man die Funktion sort() verwendet, um ein Array von Videospielcharakteren in aufsteigender Reihenfolge nach Namen zu sortieren: 🎜rrreee

Das obige ist der detaillierte Inhalt vonWie sortiere ich in PHP ein Array basierend auf dem Vergleich von Array-Werten?. 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