Я создаю исторический график, используя ChartJS.И мне нужно отфильтровать значения массива 30 дней назад
У меня есть массив со значениями ниже:
[0] => Array
(
[datetime] => 4/1/2019 4:00:00 PM - 5:00:00 PM
[value_raw] => 100
)
[1] => Array
(
[datetime] => 4/1/2019 3:00:00 PM - 4:00:00 PM
[value_raw] => 101
)
[2] => Array
(
[datetime] => 4/1/2019 2:00:00 PM - 3:00:00 PM
[value_raw] => 99
)
Массив имеет большое содержимое и содержит до 5 месяцев значениекаждый час каждый день
Это мой текущий php-код для ярлыков в ChartJS Script:
LABELS CODE:
labels: [
<?php
for($i=0; $i<=30; $i++)
{
$label = date('n/d/Y', strtotime('-'.$i.' days',strtotime(date('n/d/Y'))));
echo '"'.$label.'",';
}
?>
],
Результат:
4/01/2019, 3/31/2019, 3/30/2019, 3/29/2019
Однако у меня возникают трудности с тем, как я собираюсь получить эквивалентное МАКС-значение в день параллельно / в соответствии с моим кодом этикеток.
КОД ДАННЫХ:
data: [
<?php
foreach ($my_array as $key => $value) {
for($i=0; $i<=30; $i++)
{
$label = date('n/d/Y', strtotime('-'.$i.' days',strtotime(date('n/d/Y'))));
if ($label == changeFormat($value[datetime]))
{
echo $value['value_raw'].',';
}
}
}
?>
],
Мой ожидаемый результат должен быть МАКС. Значением дня последних 30 дней:
Пример:
DATE VALUE
4/01/2019 99
3/31/2019 101
3/30/2019 100
3/29/2019 95
Результат:
99, 101, 100, 95