Mehrdimensionales PHP-Array, sortiert nach einem Feld

Um in einem mehrdimensionalen Array nach einem anderen Feld zu sortieren, können Sie die Funktion usort in Kombination mit einer benutzerdefinierten Vergleichsfunktion verwenden.

Hier ist ein Beispielcode:

<?php
// 定义一个多维数组
$multidimensionalArray = array(
    array('name' => 'John', 'age' => 25),
    array('name' => 'Mary', 'age' => 30),
    array('name' => 'David', 'age' => 20)
);

// 按age字段进行排序
usort($multidimensionalArray, function($a, $b) {
    
    
    if ($a['age'] == $b['age']) {
    
    
        return 0;
    }
    return ($a['age'] < $b['age']) ? -1 : 1;
});

// 打印排序后的数组
print_r($multidimensionalArray);
?>

Wenn Sie den obigen Code ausführen, lautet die Ausgabe:

Array
(
    [0] => Array
        (
            [name] => David
            [age] => 20
        )

    [1] => Array
        (
            [name] => John
            [age] => 25
        )

    [2] => Array
        (
            [name] => Mary
            [age] => 30
        )

)

Im obigen Code wird die Funktion usort zum Sortieren des mehrdimensionalen Arrays verwendet. Die anonyme Funktion wird verwendet, um das Altersfeld zweier Array-Elemente zu vergleichen. Gibt 0 zurück, wenn das Alter der beiden Array-Elemente gleich ist. Gibt -1 zurück, wenn das Alter des ersten Array-Elements kleiner ist als das Alter des zweiten Array-Elements, andernfalls 1. Abschließend wird das sortierte Array mit der Funktion print_r gedruckt.

Sie können die Vergleichsfunktion ändern, um je nach Bedarf nach verschiedenen Feldern zu sortieren.

Ich denke du magst

Origin blog.csdn.net/qq_27487739/article/details/131527010
Empfohlen
Rangfolge