[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка массива по дате
g500
Добрый день. ребята, прошу помощи и совета.

В php навичок и не могу разобраться с сортировкой в массиве по дате

Вот есть такой массив. Как я понимаю он изначально не правильный для сортировки и готового решения нет. Какие-то костыли? Подскажите пжл

user posted image
Valick
g500, сортировку надо проводить на уровне СУРБД, РНР этим ни к чему заниматься.

_____________
Стимулятор ~yoomoney - 41001303250491
g500
Это не с базы. Это парсер, и эти данные берутся с обычной таблицу
Valick
g500, ну если парсер не сохраняет информацию в БД, то как вариант, можно заменить ключи корневого массива на временные метки, типа:
[1559768400]=>(
[0]=> Постачання...
)


_____________
Стимулятор ~yoomoney - 41001303250491
Эли4ка
Цитата
В php навичок и не могу разобраться с сортировкой в массиве по дате

Вам user posted image так надо вывести массивы?
g500
Эли4ка

да
Kusss
	$test = [
[
0=>'второй', 1 => 37],
[
0=>'третий', 1 => 45],
[
0=>'первый', 1 => 12],
[
0=>'четвертый', 1 => 350],
];

// В вашем случае нужно будет указать ключ 2
$result = sort_to_array($test, 1);
print_r($result);

// Функция сортировки двумерного массива
function sort_to_array($array, $by) {
$result = array();
foreach ($array as $val) {
if (!is_array($val) || !key_exists($by, $val)) {
continue;
}
end($result);
$current = current($result);
while ($current[$by] > $val[$by]) {
$result[key($result)+1] = $current;
prev($result);
$current = current($result);
}
$result[key($result)+1] = $val;
}
return $result;
}
Результат
Array
(
[1] => Array
(
[0] => первый
[1] => 12
)

[2] => Array
(
[0] => второй
[1] => 37
)

[3] => Array
(
[0] => третий
[1] => 45
)

[4] => Array
(
[0] => четвертый
[1] => 350
)

)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.