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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
netclan
Отправлено: 23 Августа, 2013 - 08:38:41
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Собственно вопрос, если изначально проверяется наличие переменной, после чего, если она отсутствует присваивается определенное значение:
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 о днях, там для каждого дня опять же разбита информация по критериям, а таким образом не выводится информация с датой дня по сто раз, только один раз до, того как не будет обнаружена новая дата.

(Отредактировано автором: 23 Августа, 2013 - 08:43:35)



-----
O_o
 
 Top
OrmaJever Модератор
Отправлено: 23 Августа, 2013 - 09:45:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ну самое простое это в цикле написать
PHP:
скопировать код в буфер обмена
  1. var_dump((string) $last_day, (string) $day -> attributes() -> date);

и смотреть что будет


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LifePlay
Отправлено: 23 Августа, 2013 - 09:55:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 135
Дата рег-ции: Авг. 2010  
Откуда: Кобеляки, Украина


Помог: 0 раз(а)




попробуй
PHP:
скопировать код в буфер обмена
  1. (((string) $last_day) === ((string) $day -> attributes() -> date))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB