jQuery asort() или продолжить сортировку после кодирования JSON?

У меня есть массив PHP, содержащий марки автомобилей, например:

array(
    5 => Audi,
    2 => Ford,
    1 => Opel,
    6 => Renault,
    9 => Volkswagen,
)

Я получаю это с Ajax, возвращая JSON-кодированный массив в мой JS. Проблема в том, что json_encoding автоматически сортирует мой массив по ключу, поэтому я получаю:

array(
    1 => Opel,
    2 => Ford,
    5 => Audi,
    6 => Renault,
    9 => Volkswagen,
)

Как я могу сохранить мой массив отсортированным? Или пересортировать в jQuery? Спасибо

1 ответ

Лучше вы делаете это из PHP. использование sort() который не поддерживает ассоциацию индекса и затем кодирует его как JSON.

Если возможно, вы можете вернуть его как ассоциативный массив, используя mysqli_fetch_assoc(), Так что это будет выглядеть примерно так:

Array
(
    [0] => Array
        (
            [id] => 1
            [vehicle_makes] => Opel
        )

    [1] => Array
        (
            [id] => 2
            [vehicle_makes] => Audi
        )
    ...
)

Надеюсь, что это решит вашу проблему.

Другие вопросы по тегам