Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проверка типа и значения переменной object
Форумы портала PHP.SU » » Вопросы новичков » Проверка типа и значения переменной object

Страниц (1): [1]
 

1. netclan - 23 Августа, 2013 - 08:38:41 - перейти к сообщению
Собственно вопрос, если изначально проверяется наличие переменной, после чего, если она отсутствует присваивается определенное значение:
PHP:
скопировать код в буфер обмена
  1.    
  2. if(!isset($last_day)) {
  3.             $last_day = $day -> attributes() -> date;
  4.             $flag_print = true;
  5.         }

После чего нужно проверить совпадает ли переменная из источника с раннее заданной:
PHP:
скопировать код в буфер обмена
  1.         else if ((string) $last_day === (string) $day -> attributes() -> date) {
  2.             $flag_print = false;
  3.         }
  4.         else {$last_day = $day -> attributes() -> date;
  5.             $flag_print = true;
  6.         }

если нет, то выставляется флаг false, вот тут и возникает загвозка в том, что в цикле пропадает одно значение переменной, т.е. не срабатывает условие:
PHP:
скопировать код в буфер обмена
  1.         else if ((string) $last_day === (string) $day -> attributes() -> date) {
  2.             $flag_print = false;
  3.         }

Иными словами берется информация из xml о днях, там для каждого дня опять же разбита информация по критериям, а таким образом не выводится информация с датой дня по сто раз, только один раз до, того как не будет обнаружена новая дата.
2. OrmaJever - 23 Августа, 2013 - 09:45:39 - перейти к сообщению
ну самое простое это в цикле написать
PHP:
скопировать код в буфер обмена
  1. var_dump((string) $last_day, (string) $day -> attributes() -> date);

и смотреть что будет
3. LifePlay - 23 Августа, 2013 - 09:55:41 - перейти к сообщению
попробуй
PHP:
скопировать код в буфер обмена
  1. (((string) $last_day) === ((string) $day -> attributes() -> date))

 

Powered by ExBB FM 1.0 RC1