Почему это имеет значение, если переданное значение функции (переменная) передано, а не переменная напрямую? В документации PHP для функции empty () указано, что
5.5.0: empty () теперь поддерживает выражения, а не только переменные.
Но почему это все равно изменит ситуацию? Если данное выражение имеет переменную как возвращаемое значение – в моих глазах – оба утверждения будут точно такими же.
До PHP 5.5 возвращаемое значение является значением , а не переменной, потому что, когда вы говорите
return $value;
в вашей вызываемой функции значение $ действует только в области функции; он перестает существовать как переменная, как только функция завершает свое выполнение, поэтому вызывающий код получает только значение