Что означает ошибка «Only variables can be passed by reference»?

Главная  >>  Backend  >>  Что означает ошибка «Only variables can be passed by reference»?

При поддержке старых проектов, которые писались под старые версии php иногда можно встретить следующую ошибку: «Only variables can be passed by reference». Сейчас на простом примере покажу, почему она появляется.

Простой пример, который вызовет данную проблему:

А теперь код, который отработает правильно:

Видите разницу? Разница в том, что нельзя передать по ссылке аргумент, который напрямик возвращает другая функция.

Во втором примере работа функции Bar() сохраняется в переменную, которая далее уже передается по ссылке в функцию Foo().

Вот и весь секрет. : )


  • Deny

    Спасибо. Разобрался. Помогло.