Следует ли инициализировать переменные PHP перед использованием в качестве параметра функции OUT? - PullRequest
2 голосов
/ 16 марта 2012

Как правильно написать код, который вызывает функцию, которая принимает указатель на переменную и изменяет значение?

Следующее работает, но моя среда IDE жалуется, что $ v является неопределенной переменной, что и являетсяпока вызываемая функция не установит значение:

function foo(&$bar) {
  $bar = 12345;
}

foo($v);

Стоит ли сначала инициализировать $ v, чтобы удовлетворить мою IDE?Или есть лучший способ сделать это?

$v = NULL;
foo($v);

1 Ответ

4 голосов
/ 16 марта 2012

При передаче переменной по ссылке на функцию вам необходимо иметь ссылку на переменную из вызывающего кода. Чтобы иметь ссылку, переменная должна существовать. Чтобы существовать, переменная должна быть инициализирована.

Я рекомендую установить разумное значение по умолчанию. Если разумное значение по умолчанию - null, используйте null. В некоторых случаях может быть более разумно использовать '' или 0 в зависимости от того, какой тип значения вы хотите сохранить в переменной.

...