Задать вопрос
@Shimpanze

Можно ли в PHP отсортировать ассоциативный массив в ручную?

Массив:

$arr = [
    'foo' => 'foo val',
    'bar' => 'bar val',
    'baz' => 'baz val',
];


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

$arr_mod = [
    'bar' => 'bar val',
    'foo' => 'foo val',
    'baz' => 'baz val',
];
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Именно для этого существует usort - чтобы отсортировать массив по значениям используя пользовательскую функцию. Если хотите сортировать не по значениям - есть uksort.

А как именно вы отсортировать хотите, я не очень понял. Но общий код такой:
$array = [3, 2, 5, 6, 1];

usort($array, function ($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
    //Или ваша любая функция сравнения значений.
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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