Intereting Posts
Триггер не распознает таблицу (Trigger для разбиения содержимого NEW.values ​​на несколько строк для вставки в другую таблицу) получение переменных формы с помощью JavaScript Как получить идентификатор клиента из объекта события в полосе FOSUserBundle и Symfony 3.0? Как скрыть / показать разделы HTML-формы Удаление содержимого каталога и содержимого подкаталога Пользовательская команда IMAP в php проверить, доступен ли домен или нет с помощью PHP? Вставить Игнорировать – есть ли способ узнать, проигнорирован ли оператор? MYSQL Как получить возраст с использованием столбца BirthDate по запросу MySQL? PHP сгладить массив и добавить ключ глубины Как выбрать объединение нескольких таблиц без условного кода в Codeigniter? PHP – добавить элемент в начало ассоциативного массива Как решить маршрут, не определенный в laravel 5.3? Загрузка изображения на сервер в Android

Создание массива последних 30 дней с использованием PHP

Я пытаюсь создать массив, начиная с сегодняшнего дня, и возвращаться к последним 30 дням с PHP, и у меня возникают проблемы. Я могу оценить, но я не знаю, как это сделать, и учитывая количество дней в предыдущем месяце и т. Д. Есть ли у кого-нибудь хорошее решение? Я не могу приблизиться, но я должен убедиться, что он на 100% точным.

Попробуй это:

<?php $d = array(); for($i = 0; $i < 30; $i++) $d[] = date("d", strtotime('-'. $i .' days')); ?> 

Вы можете использовать время для контроля дней:

 for ($i = 0; $i < 30; $i++) { $timestamp = time(); $tm = 86400 * $i; // 60 * 60 * 24 = 86400 = 1 day in seconds $tm = $timestamp - $tm; $the_date = date("m/d/Y", $tm); } 

Теперь в цикле for вы можете использовать переменную $ a_date для любых целей, которые вы, возможно, захотите. 🙂

 $d = array(); for($i = 0; $i < 30; $i++) array_unshift($d,strtotime('-'. $i .' days')); 

Для тех, кто хочет показать продажи прошлых X дней,
Как было задано в этом закрытом вопросе (https://stackoverflow.com/questions/11193191/how-to-get-last-7-days-using-php# = ) , это сработало для меня.

  $sales = Sale::find_all();//the sales object or array for($i=0; $i<7; $i++){ $sale_sum = 0; //sum of sale initial if($i==0){ $day = strtotime("today"); } else { $day = strtotime("$i days ago"); } $thisDayInWords = strftime("%A", $day); foreach($sales as $sale){ $date = strtotime($sale->date_of_sale)); //May 30th 2018 10:00:00 AM $dateInWords = strftime("%A", $date); if($dateInWords == $thisDayInWords){ $sale_sum += $sale->total_sale;//add only sales of this date... or whatever } } //display the results of each day's sale echo $thisDayInWords."-".$sale_sum; ?> } 

Прежде чем рассердиться: я поставил здесь этот ответ, чтобы помочь кому-то, кто был направлен здесь из этого вопроса. Не мог ответить там 🙁