В чем разница между `return;` и no return? - PullRequest
33 голосов
/ 16 мая 2011

Есть ли разница между:

function someMethod( $someArg ) {
  // some code
  return;
}

и

function someMethod( $someArg ) {
  // some code
  // no return
}

Оба имеют NULL в качестве «возвращаемого значения». Есть ли разница? Что-то PHP внутри? Спектакль? Скорость

редактировать
Я спрашиваю, потому что в Zend Framework ( в этом видео ) они используют return;, что мне показалось (кажется) глупым. Тем не менее, вы можете подумать, что люди, стоящие за Zend Framework, знают свой PHP ...

Ответы [ 11 ]

0 голосов
/ 16 мая 2011

Как только вызывается return, вызов функции завершается.Это действует как перерыв.Поэтому, если ваш возврат находится посередине, он получит некоторую производительность, потому что остальная часть функции не выполняется.

В остальном часто лучше (в удобочитаемом виде) использовать явный возвратвместо неявного.Если вы сохраните возврат в функции, вы будете знать, что при вызове этой функции может ожидаться возвращаемое значение.

...