フィールドでソートされたPHP多次元配列

多次元配列内の別のフィールドで並べ替えるには、usort 関数とカスタム比較関数を組み合わせて使用​​できます。

サンプルコードは次のとおりです。

<?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);
?>

上記のコードを実行すると、出力は次のようになります。

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

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

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

)

上記のコードでは、usort 関数を使用して多次元配列を並べ替えています。匿名関数は、2 つの配列要素の年齢フィールドを比較するために使用されます。2 つの配列要素の年齢が等しい場合は 0 を返します。最初の配列要素の年齢が 2 番目の配列要素の年齢より小さい場合は -1 を返し、それ以外の場合は 1 を返します。最後に、ソートされた配列が print_r 関数を使用して出力されます。

必要に応じて、比較関数を変更して、さまざまなフィールドで並べ替えることができます。

おすすめ

転載: blog.csdn.net/qq_27487739/article/details/131527010