Я пытаюсь получить даты между от и до настоящего времени. Используя класс datetime , он отлично работает, но когда я использую его с динамическим результатом, например, foreach внутри foreach, даты удваиваются. Я пробовал использовать unique_array, но не повезло. Какие-либо предложения? :)php предотвратить foreach в foreach double
Availabledates скриншот содержимого (игнорировать запятой):
Пример:
$result = $wpdb->get_results('SELECT fdate, tdate FROM availabledates');
foreach($result as $data):
$fdate = date('Y-m-d', $data->fdate);
$tdate = date('Y-m-d', $data->tdate);
$begin = new DateTime($fdate);
$end = new DateTime($tdate);
$daterange = new DatePeriod($begin, new DateInterval('P1D'), $end);
foreach($daterange as $date){
echo $date->format("Y-m-d") . "<br>";
}
endforeach;
Есть ли несколько строк в таблице 'availabledates'? –
Мне трудно воспроизвести ошибку (с жестко закодированными значениями вместо того, чтобы вытаскивать из базы данных, но все равно кажется, что результат будет аналогичным.) Можете ли вы более подробно описать, как результат удваивается? Каждый день печатается дважды подряд, т. Е. «2015-06-30, 2015-06-30, 2015-07-01, 2015-07-01 и т. Д.», Или весь набор дат печатается дважды? –
Хм .. В основном это просто испортить заказ. Я думаю, что лучше всего объяснить, что он дублирует контент. Я не думаю, что foreach внутри foreach - лучшее решение, может быть, есть другое решение? :) – simon