paulenot
@paulenot
IT Issue

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

В базе данных есть строки с задачами и датой/временем timestamp ( в таком виде 2021-06-20 14:30:00)
С помощью foreach я могу перебрать весь массив, но не могу найти ответ на вопрос, как создать массив типа:
$calendar = [
		2021 => [
			6 => [
				20 => [
					1 => [
						'name' => 'taskname 1',
						'time' => '14:30:00',
					],
					2 => [
						'name' => 'taskname 2',
						'time' => '15:00:00',
					],
				],
			],
		],
	];


Сначала генерируется скрытый контент, а после нажатия на определенный день оно должно выводить задачи начиная с 00:00 до 23:59. Подскажите пожалуйста как это реализовать средствами php.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
wagoodoogoo
@wagoodoogoo
prestashop, webix, phalcon, vue, slim, craft cms
$array = [
  ['name' => 'taskname 1', 'date' => '2021-06-20 14:30:00'],
  ['name' => 'taskname 2', 'date' => '2021-06-21 14:30:00'],
  ['name' => 'taskname 3', 'date' => '2021-06-20 16:30:00'],
  ];

$calendar = [];
foreach ($array as $row) {
  list($date, $time) = explode(" ", $row['date']);
  list($year, $month, $day) = explode("-", $date);
  $calendar[$year][$month][$day][] = [$row['name'] , $time];
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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