сортировка массива в laravel - PullRequest
0 голосов
/ 01 октября 2019

У меня есть массив массив, я хотел бы отсортировать его по номеру в каждом массиве

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

Ответы [ 2 ]

1 голос
/ 01 октября 2019

Для этого существует удивительное и простое решение по умолчанию для 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);

Выход

    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
  ]
]

Вы можете проверить другие функции, подобные этой, в документация . Я надеюсь, вам понравится это решение.

0 голосов
/ 01 октября 2019

Попробуйте отсортировать значение по номеру.

Вход

$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;

Выход

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
        )

)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...