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

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

1. qtk - 02 Марта, 2015 - 17:28:12 - перейти к сообщению
Замечал что в одном скрипте, одного человека код бывает написан по разному
PHP:
скопировать код в буфер обмена
  1.  
  2. if(...) {
  3. // какой то код
  4. } else {
  5.     return $x;
  6. }
  7.  


и такой код, без else
PHP:
скопировать код в буфер обмена
  1.  
  2. if(...) {
  3. // какой то код
  4. }
  5. return $x;
  6.  


Смысл ведь не меняется или я чего то не понимаю?
2. exlant - 02 Марта, 2015 - 17:33:59 - перейти к сообщению
если это пишется в функции или методе, то не поменяется..
только скорей всего в if в первом блоке тоже есть return, он и выкидует из функции
3. esterio - 02 Марта, 2015 - 17:43:56 - перейти к сообщению
как раз меняется если в if нету return-а
4. exlant - 02 Марта, 2015 - 17:49:46 - перейти к сообщению
конечно меняется, я первый раз невнимательно прочитал.
return обязательно должен быть в первом блоке if, что бы ничего не поменялось!
5. DelphinPRO - 02 Марта, 2015 - 18:46:11 - перейти к сообщению
Согласно хорошим практикам программирования, следует стремиться уменьшать вложенность кода для повышения читабельности. Делайте выводы.
6. qtk - 02 Марта, 2015 - 20:47:27 - перейти к сообщению
Что же конкретно меняется? Если есть else то return вернет данные в нем, а есле нет то так же вернет данные после if. Можно пожалуйста поподообней?
(Добавление)
Да, в if тоже есть return
(Добавление)
К примеру вот класс где встречается эта ситуация[url] https://github.com/slimphp/Slim/blob/master/Slim/Http/Request.php[/url]
7. OrmaJever - 03 Марта, 2015 - 13:22:14 - перейти к сообщению
qtk пишет:
PHP:
скопировать код в буфер обмена
  1. if(...) {
  2. // какой то код
  3. } else {
  4.     return $x;
  5. }


переверните логику и уберите else
PHP:
скопировать код в буфер обмена
  1. if( !...) {
  2.     return $x;
  3. }
  4. // какой то код
8. qtk - 03 Марта, 2015 - 13:29:20 - перейти к сообщению
То что можно логику перевернуть это понятно. Просто почему так реализован код мне интересно, в разных методах по разному. Ради интереса гляньте ссылочку))))
9. esterio - 03 Марта, 2015 - 14:07:24 - перейти к сообщению
DelphinPRO пишет:
Согласно хорошим практикам программирования
10. qtk - 03 Марта, 2015 - 15:21:29 - перейти к сообщению
Все понял! Всем огромное спасибо!

 

Powered by ExBB FM 1.0 RC1