簡體   English   中英

laravel 中的數組排序數組

[英]sorting array of array in laravel

我有一個數組數組,我想根據每個數組中的數字對其進行排序

[
    ["Plastic and cosmetic surgery",90],
    ["Dermatology surgery",121],
    ["Infertility",134],
    ["Gynecology surgery",191],
    ["Hair transplant",92],
    ["Bariatrics and weight loss surgery",117],
    ["Dentistry",88]
]

有一個驚人而簡單的默認 laravel 解決方案。

$collection = collect([
        ["Plastic and cosmetic surgery",90],
        ["Dermatology surgery",121],
        ["Infertility",134],
        ["Gynecology surgery",191],
        ["Hair transplant",92],
        ["Bariatrics and weight loss surgery",117],
        ["Dentistry",88]
    ]);

        $sorted = $collection->sortBy(1);

        $data = $sorted->values()->all();
        dd($data);

Output

    array:7 [▼
  0 => array:2 [▼
    0 => "Dentistry"
    1 => 88
  ]
  1 => array:2 [▼
    0 => "Plastic and cosmetic surgery"
    1 => 90
  ]
  2 => array:2 [▼
    0 => "Hair transplant"
    1 => 92
  ]
  3 => array:2 [▼
    0 => "Bariatrics and weight loss surgery"
    1 => 117
  ]
  4 => array:2 [▼
    0 => "Dermatology surgery"
    1 => 121
  ]
  5 => array:2 [▼
    0 => "Infertility"
    1 => 134
  ]
  6 => array:2 [▼
    0 => "Gynecology surgery"
    1 => 191
  ]
]

您可以在文檔中查看更多類似的功能。 我希望你會喜歡這個解決方案。

試試這個按數字排序值。

輸入

$array = [
    ["Plastic and cosmetic surgery",90],
    ["Dermatology surgery",121],
    ["Infertility",134],
    ["Gynecology surgery",191],
    ["Hair transplant",92],
    ["Bariatrics and weight loss surgery",117],
    ["Dentistry",88]
];

usort($array, 'sortByNumber');
function sortByNumber($a, $b)
{
    $a = $a[1];
    $b = $b[1];

    if ($a == $b) return 0;
    return ($a < $b) ? -1 : 1;
}

echo "<pre>";
print_r($array);
die;

Output

Array
(
    [0] => Array
        (
            [0] => Dentistry
            [1] => 88
        )

    [1] => Array
        (
            [0] => Plastic and cosmetic surgery
            [1] => 90
        )

    [2] => Array
        (
            [0] => Hair transplant
            [1] => 92
        )

    [3] => Array
        (
            [0] => Bariatrics and weight loss surgery
            [1] => 117
        )

    [4] => Array
        (
            [0] => Dermatology surgery
            [1] => 121
        )

    [5] => Array
        (
            [0] => Infertility
            [1] => 134
        )

    [6] => Array
        (
            [0] => Gynecology surgery
            [1] => 191
        )

)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM