0 голосов
спросил от в категории PHP
Как вставить непустую дату в другой массив, а затем распечатать? Что-то вроде этого.

<?php $date = array("11/11/2017","12/11/2017","13/11/2017","14/11/2017","15/11/2017","16/11/2017","","","","",""); $date_NoEmpty = $date; //To not take into account any empty date for ($i = 0; $i < sizeof($date); $i++) {    // echo sizeof($date) . ' ' .  $i . '<br/>';     if ($date[$i] == '') {         unset($date_NoEmpty[$i]);        // echo 'empty';     }    // echo $date[$i];   //  $date = array_values($date); } //displaying this shows 2 empty values with the 6 set values for ($i = 0; $i < sizeof($date_NoEmpty); $i++) {     echo "<li>";     echo $date_NoEmpty[$i];     echo "</li>"; } ?>

Выход :
11/11/2017
12/11/2017
13/11/2017
14/11/2017
15/11/2017
16/11/2017

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Просто предостережение - что такое «пусто»?
Например, что, если это NULL?

Есть и другие способы проверки php, которые позволяют вам немного контролировать, что вы называете пустым. Примеры
Примеры is_null () и empty (). Есть и другие с различными нюансами. Было бы хорошо, если бы вы прочитали о них, поэтому они хранятся в вашем сознании для дальнейшего использования.

#PHP isset() vs empty() vs is_null() - Virendra's TechTalk # [#^ #]

0 голосов
ответил от
<?php $date = $_GET['date']; $check = $date; // Check helps us to get the real non empty dates for ($i = 0; $i < sizeof($check); $i++) { if ($check[$i] == '') { unset($check[$i]); } $check = array_values($check); } // if the sizeof CHECK is equal the size of DATE INPUT it means everything went well with no trailing empty problems // Also that it is the first time that an empty table is passed if (sizeof(array_filter($date, function ($value) { return trim($value) !== ''; })) == sizeof($check)) { for ($i = 0; $i < sizeof($date); $i++) { if ($date[$i] == '') { unset($date[$i]); } $date = array_values($date); } } // If it is not equal it means trailing empty spaces are there // Also that is not the first time empty table is passed   else if (sizeof(array_filter($date, function ($value) { return trim($value) !== ''; })) != sizeof($check)) { $date = array_filter($date, function ($value) { return trim($value) !== ''; }); $date = array_values($date); } ?>
0 голосов
ответил от (120 баллов)
$date = array("11/11/2017","12/11/2017","13/11/2017","14/11/2017","15/11/2017","16/11/2017"," "," ","",""); print_r(array_filter($date, function($value) { return trim($value) !== ''; }));

Возможно, проблема в том, что значения не пусты, но есть ли там пробел? Эта функция должна избавиться от этого.

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...