Как положить данные в многомерный массив и отсортировать?

Добрый вечер. У меня есть данные такого вида:
Array ( [0] => Array ( [0] => 24.13000000 [1] => 883.80000000 ) [1] => Array ( [0] => 24.12000000 [1] => 1605.01000000 ) [2] => Array ( [0] => 24.11000000 [1] => 3260.20000000 )

Мне необходимо положить эти данные в многомерный массив с ключами tick и price и отсортировать по второму ключу, от большего к меньшему. Подскажите пожалуйста как правильно сделать ? Мне нужно, чтобы первое и второе значение массива были в одном ключе, то есть например:
элемент второй: значение 1 = 24.12000000, значение 2 = 1605.01000000
элемент первый : значение 2 = 24.13000000, значение 2 = 883.80000000

и так далее..
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
<?php
$input_data = Array (
    0 => Array ( 0 => 24.13000000, 1 => 883.80000000 ),
    1 => Array ( 0 => 24.12000000, 1 => 1605.01000000 ),
    2 => Array ( 0 => 24.11000000, 1 => 3260.20000000 ),
);


//трансформируем исходные данные к нужному виду
$result = array_reduce($input_data, function($r, $item) {
    $r[] = ['tick' => $item[0], 'price' => $item[1]];
    return $r;
});

//сортируем по убыванию price
array_multisort(array_column($result, 'price'), SORT_DESC, $result);

print_r($result);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы