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 :: Сравнение

 PHP.SU

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


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

> Без описания
wkera
Отправлено: 19 Декабря, 2012 - 14:55:13
Post Id


Новичок


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


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




Доброго времени суток. У меня не получается построить конструкцию else-if
Код следующий:
PHP:
скопировать код в буфер обмена
  1.  
  2. $test = 077;
  3. if ($test == (700 || 707 || 770 || 777)){
  4. ...
  5. }
  6.  


В результате всегда true...
То есть таким образом я хочу сделать систему прав в скрипте. Где я не прав? Спасибо.
 
 Top
sKaa
Отправлено: 19 Декабря, 2012 - 15:04:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


 
 Top
Zuldek
Отправлено: 19 Декабря, 2012 - 15:09:09
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Не правы вы в том, что начали программировать на PHP не разобравшись с базовыми основами языка.
Не строгая типизация приводит в том числе к таким ошибкам.
Потому нужно знать какой тип вы получите на выходе или хотя бы не лениться его проверять (о корявости самого кода не говорю).
CODE (htmlphp):
скопировать код в буфер обмена
  1. $test = (700 || 707 || 770 || 777);
  2. echo gettype($test);
  3. $testb = 077;
  4. echo " ".gettype($testb);
  5. if($test==$testb) echo "$test==$testb";

(Отредактировано автором: 19 Декабря, 2012 - 15:16:08)

 
 Top
wkera
Отправлено: 19 Декабря, 2012 - 16:29:50
Post Id


Новичок


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


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




Zuldek пишет:
(о корявости самого кода не говорю).


Какую алтернативу сравнения вы можете предложить тогда? Буду благодарен
 
 Top
ams
Отправлено: 19 Декабря, 2012 - 16:48:37
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2.         $b = 077;
  3.  
  4.         var_dump(
  5.                 in_array($b, array(707, 700, 777, 770))
  6.         );
  7.  
 
 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