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 :: Оператор IF

 PHP.SU

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


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

> Описание: Стыдно, но никак неосилю
Никола
Отправлено: 19 Сентября, 2007 - 15:34:54
Post Id



Гость


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


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




Доброго времени суток - помогите кому нетрудно

Вобщем есть следующая проблема

Вот скрипт - описание проблемы ниже...
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a=10.000;
  3. if ( $a >= 5.000)   {echo ("5+") ; }
  4. if ( ($a) >= 10.000 )  {echo ("10+") ; }
  5.  else
  6. ?>


пытаюсь сделать чтобы в зависимости от числа $a выводилось сообщение
если к примеру $a больше или равно 5.000 то выводится 5+, а если $a больше или равно 10.000 то выводится 10+, но вот только если задаю $a=10.000 то выводится и 5+ и 10+
Подскажите как сделать чтоб выводилось только 10+?

 
 Top
evgenijj
Отправлено: 19 Сентября, 2007 - 16:32:16
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




PHP:
скопировать код в буфер обмена
  1.  
  2. if ( $a >= 5 and $a < 10 ) echo "5+";
  3. if ( $a >= 10 ) echo "10+";
  4.  
 
 Top
valenok Модератор
Отправлено: 19 Сентября, 2007 - 17:10:48
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




Как авринт также порходит
поменяьт условия местами и использовать конструкцию elseif


-----
Truly yours, Sasha.
 
My status
 Top
Никола
Отправлено: 20 Сентября, 2007 - 07:48:10
Post Id



Гость


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


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




evgenijj
valenok
спасибо выручили
 
 Top
TigerSml
Отправлено: 28 Августа, 2009 - 13:53:13
Post Id



Новичок


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


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




Доброго! Есть вопрос, очень простой, но все же меня ввел в ступор на счет: какой же способ выбрать для наилучшей оптимизации кода.
Новой темой на стал засорять "эфир".
Вот пример простейшего кода с условием:

1.


а теперь аналоги этого кода:
2.

3.

4.

Ну конечно же перед этим задаем для наглядности: $a = FALSE; (или $a = "";)
значение $b не имеет смысла здесь.
Все 4 примера выведут значение переменной b, если перменная a будет возрващать фальш.

А теперь сам вопрос. Какой лучше использовать? Пишу сейчас двиг и меня до паранои ест этот вопрос, как только я начинаю новое условие. Писал все через №1, раньше только через №2. Теоретически первые два точно охватывают все случаи. Как я понимаю первый пример это старый способ, а второй появился в относительно более новых версиях, или не так?
Как вы считаете по этому поводу? Все четыре варианта работают абсолютно точно и выбираются только по желанию и симпатии автора, или все таки есть плюсы где то, как в функциональности так и в читаемости.
Надеюсь на хорошее обсуждение хоть и жутко мелочного вопроса.

(Отредактировано автором: 28 Августа, 2009 - 13:54:59)



-----
Да пребудет с Вами Коннект!
 
 Top
JustUserR
Отправлено: 28 Августа, 2009 - 14:04:25
Post Id



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


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


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




Цитата:
А теперь аналоги этого кода
А вот тут уж простите и вскрылось ваше незнание
Проверки if($var) if(isset($var)) и if(empty($var)) означают совершенно разные вещи
Гдето на форуме я уже пояснял разлчие между этими вещами - ключевое слово для поиска и осмысления NULL


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ch_chov
Отправлено: 28 Августа, 2009 - 14:41:45
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Была тема про различие isset и empty.

Имхо различия в производительности всех четырех способов незначительны. И не стоят того что бы их рассматривать...
Выбирайте тот вариант, который соответствует вашей задаче.
 
 Top
TigerSml
Отправлено: 28 Августа, 2009 - 19:06:19
Post Id



Новичок


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


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




JustUserR
Я согласен, что с isset и empty был не прав, учиться никогда не поздно, язык изучал на практике в большинстве и итог работы этих функций всегда меня удовлетворял.
Но я больше акцентировал внимание на №1 и №2, все таки да, это моя параноя, буду писать используя if(!$a) if($a) вместо ... == (!=) FALSE (TRUE), разницы все таки наверное нет, ну вот разве только в старых версиях поддерживается ли это? Как сказал Ch_chov, не стоит это того. А условие будет компактно, а значит легко читаемо.
JustUserR
К сожалению, вашего поста я не нашел, но на счет нулла я отыскал инфу конечно же, спасибо за подсказку в каком направлении думать.

Ch_chov
Спасибо за тему, помогла с осознании.

На локалхосте сейчас создал ряд проверок переменной, и играя переменной окончательно (надеюсь на это) разобрался в работе функций!
Спасибо!!!


-----
Да пребудет с Вами Коннект!
 
 Top
JustUserR
Отправлено: 28 Августа, 2009 - 19:19:45
Post Id



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


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


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




TigerSml Это вы молодец и правильно делаете - лучше поинтересоваться сначала чем уже сделать и думать почему работает не так
А в этой теме есть мои посты правда изза давнего сбоя мои посты высвечиваются там от имени Гость (Удален Улыбка)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB