@evilelf
Тупой, руки из жопы, кодю за зп и т.п. и т.д.

Как сделать сортировку по значению ключа в массиве?

Есть такой массив.
Как его отсортировать по значению ключа auto_name?
Направление: А-Я
Массив
Array
(
    [0] => stdClass Object
        (
            [ID] => 570
            [auto_id] => 453
            [name] => 1.6 8-кл 2места
            [color] => 543
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => нет
            [ice] => нет
            [year] => 2016
            [price] => 550000
            [sort] => 100
            [styles] => background-color: rgba(255, 255, 255, 1)
            [auto_name] => Largus Фургон
        )

    [1] => stdClass Object
        (
            [ID] => 646
            [auto_id] => 459
            [name] => 40th Anniversary
            [color] => 538
            [dvs] => 1.7 8-кл
            [kpp] => 5МТ
            [music] => нет
            [ice] => Кондиционер
            [year] => 2017
            [price] => 560000
            [sort] => 100
            [styles] => background-color: rgba(135, 135, 135, 1)
            [auto_name] => Niva 4x4 3 двери
        )

    [2] => stdClass Object
        (
            [ID] => 517
            [auto_id] => 448
            [name] => Classic
            [color] => 538
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Кондиционер
            [year] => 2017
            [price] => 465000
            [sort] => 100
            [styles] => background-color: rgba(135, 135, 135, 1)
            [auto_name] => Kalina хэтчбэк
        )

    [3] => stdClass Object
        (
            [ID] => 518
            [auto_id] => 449
            [name] => Classic
            [color] => 538
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Магнитола
            [ice] => Климатконтроль
            [year] => 2017
            [price] => 500000
            [sort] => 100
            [styles] => background-color: rgba(135, 135, 135, 1)
            [auto_name] => Kalina Cross
        )

    [4] => stdClass Object
        (
            [ID] => 519
            [auto_id] => 449
            [name] => Classic
            [color] => 540
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Магнитола
            [ice] => Климатконтроль
            [year] => 2017
            [price] => 500000
            [sort] => 100
            [styles] => background-color: rgba(255, 0, 0, 1)
            [auto_name] => Kalina Cross
        )

    [5] => stdClass Object
        (
            [ID] => 526
            [auto_id] => 450
            [name] => Classic
            [color] => 541
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Нет
            [year] => 2017
            [price] => 415000
            [sort] => 100
            [styles] => background-color: rgba(163, 85, 85, 1)
            [auto_name] => Granta седан
        )

    [6] => stdClass Object
        (
            [ID] => 548
            [auto_id] => 451
            [name] => Classic
            [color] => 538
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Нет
            [year] => 2017
            [price] => 430000
            [sort] => 100
            [styles] => background-color: rgba(135, 135, 135, 1)
            [auto_name] => Granta лифтбэк
        )

    [7] => stdClass Object
        (
            [ID] => 549
            [auto_id] => 451
            [name] => Classic
            [color] => 538
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Нет
            [year] => 2017
            [price] => 430000
            [sort] => 100
            [styles] => background-color: rgba(135, 135, 135, 1)
            [auto_name] => Granta лифтбэк
        )

    [8] => stdClass Object
        (
            [ID] => 550
            [auto_id] => 451
            [name] => Classic
            [color] => 541
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Нет
            [year] => 2017
            [price] => 430000
            [sort] => 100
            [styles] => background-color: rgba(163, 85, 85, 1)
            [auto_name] => Granta лифтбэк
        )

    [9] => stdClass Object
        (
            [ID] => 551
            [auto_id] => 451
            [name] => Classic
            [color] => 543
            [dvs] => 1.6 8-кл
            [kpp] => 5МТ
            [music] => Нет
            [ice] => Нет
            [year] => 2017
            [price] => 430000
            [sort] => 100
            [styles] => background-color: rgba(255, 255, 255, 1)
            [auto_name] => Granta лифтбэк
        )

    [10] => stdClass Object
        (
            [ID] => 587
            [auto_id] => 456
            [name] => Classic
            [color] => 543
            [dvs] => 1.6 16-кл
            [kpp] => 5МТ
            [music] => нет
            [ice] => нет
            [year] => 2017
            [price] => 555000
            [sort] => 100
            [styles] => background-color: rgba(255, 255, 255, 1)
            [auto_name] => Vesta
        )
)

  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
@evilelf Автор вопроса
Тупой, руки из жопы, кодю за зп и т.п. и т.д.
кому нужно, то вот так:
Весь массив у нас в $arComplects, тогда:
if($arComplects) {
        foreach ($arComplects as &$arComplection) {
            usort($arComplection, function ($a, $b) {
                return strcmp($a->auto_name, $b->auto_name);
            });
        }
        unset($arComplection);
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы