Мне просто интересно, как PHP работает под капотом в этом определенном сценарии. Скажем, у меня есть эти два фрагмента кода:PHP поведение под капотом
function foo() {
return 2 * 2;
}
// First.
if (foo()) {
bar(foo());
}
// Second.
if (($ref = foo())) {
bar($ref);
}
Теперь вопросы:
В первом случае, это PHP сделать какую-то временную переменную внутри, если п? Если да, то не второй ли код всегда лучше подходит?
Имеет ли второй корпус больше памяти? Если ответ на первый вопрос дается на первый вопрос, то нет?
Вы должны использовать только первый, если хотите называть 'foo()' дважды. – Barmar