Как проверить существует ли число в массиве

141
14 августа 2019, 11:00

Выводятся массивы диапазона даты из БД

    while ($row=mysqli_fetch_array($query)) {
    $datein=$row["datein"];
    $dateout=$row["dateout"];
    $days = range(strtotime($datein), strtotime($dateout), (24*60*60));
    }

Имеется таблица с колонками дней(15 дней). Как сделать, чтобы ячейки закрашивались красным цветом если этот день имеется в любом массиве диапазона даты. Например: Если в диапазоне даты имеется 20.01.2019 то в колонке "20 Jan 2019" закрасилась ячейка. Очень долго сижу делаю, но ничего не получается.

while ($row=mysqli_fetch_array($query)) {
$datein=$row["datein"];
$dateout=$row["dateout"];
for($i=0; $i<15; $i++) {
$date = strtotime("+$i day");
$datein = strtotime("$datein");
$dateout = strtotime("$dateout");
$yd = date("Y", $date);
$md = date("m", $date);
$dd = date("d", $date);
$complexd = "$yd$md$dd";
$complexd = strtotime("$complexd");
$yi = date("Y", $datein);
$mi = date("m", $datein);
$di = date("d", $datein);
$complexi = "$yi$mi$di";
$complexi = strtotime("$complexi");
$yo = date("Y", $dateout);
$mo = date("m", $dateout);
$do = date("d", $dateout);
$complexo = "$yo$mo$do";
$complexo = strtotime("$complexo");
if($complexd >= $complexi && $date <= $complexo) {$color = $red;} 
if ($complexd < $complexi) {$color = $green;}
if ($complexd > $complexo) {$color = $green;}
      echo'<td class="blend" style="background-color:'.$color.';"></td>';
            } }

Выводится только из первого массива, а остальные не видит.

Answer 1

Предлагаю сделать сначала массив из всех используемых дней, а потом уж строить табличку проверяя есть ли ключ а массиве $data

while ($row=mysqli_fetch_array($query)) {
    $period = new DatePeriod(
         new DateTime('2010-10-01'), #$row["datein"];
         new DateInterval('P1D'),
         new DateTime('2010-10-05')  #$row["dateout"];
    );
    foreach ($period as $key => $value) {
        $date[$value->format('Y-m-d')]=true; # массив можно наполнить например событиями/мероприятиями   
    }
}
print_r($date);
READ ALSO
Подключить функцию из файла function.php

Подключить функцию из файла function.php

Как я могу подключить функцию в WordPress, из файла functionphp, таким образом, чтобы она работала только для одной страницы?

98
Можно ли взять данные из тегов html страницы, часть которой грузится из php?

Можно ли взять данные из тегов html страницы, часть которой грузится из php?

Недавно задался вопросом, можно ли взять к примеру текст из дивов на странице, которая частично подгружается из php? Сначала я написал небольшой...

120
Как отправить PUT запрос

Как отправить PUT запрос

Использую yii2-httpclient получилось отправить GET запрос так:

137
Прокрутка строк в таблице на мобильной версии

Прокрутка строк в таблице на мобильной версии

Есть такая таблица элементов:

110