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 :: Версия для печати :: Условные операторы PHP...
Форумы портала PHP.SU » » Вопросы новичков » Условные операторы PHP...

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

1. kostyan - 03 Августа, 2011 - 14:08:05 - перейти к сообщению
Товарищи, подскажите зеленому, как правильно работать с условными операторами...
может есть там 'золотое правило' какое-нибудь...(там не делать глубже трех if, или может всего не должно быть больше 5 if)...
дело в том что местами закапываешься на 3-4 часа, пытаясь правильно выстроить if ,esle if, if... в итоге получается, но уж больно много времени уходит на это.

спасибо.
2. Arni - 03 Августа, 2011 - 14:17:09 - перейти к сообщению
Ну наверно просто нужно глубже изучить все тонкости, и в зависимости от ситуации использовать именно ту возможность которая более всего подходит.

PHP:
скопировать код в буфер обмена
  1.  
  2. /* Например очень часто начинают городить целый if в то время когда есть замечательная альтернатива */
  3.  
  4. $var = isset($_GET['var']) ? $_GET['var'] : false;
  5.  
  6. /* Ну или очень часто улучшить читаемость можно через  elsif */
  7. if($var < 1){
  8.      //=>
  9. }elseif($var > 10){
  10.      //=>
  11. }else{
  12.      //=>
  13. }
  14.  
  15. // Ну и конечно же не забываем про switch
  16.  
  17. switch(expression) // переключающее выражение
  18. {
  19.    case value1: // константное выражение 1
  20.       statements; // блок операторов
  21.    break;
  22.    case value2: // константное выражение 2
  23.       statements;
  24.    break;
  25.    default:              
  26.       statements;
  27. }
  28.  
  29.  
3. iflight - 03 Августа, 2011 - 14:44:09 - перейти к сообщению
если юзать подходящий, удобный редактор и нормально оформлять код, то запутаться сложно, тем более в своем коде. имхо.

 

Powered by ExBB FM 1.0 RC1