@Shimpanze

Как передать внешнюю переменную во вложенную функцию?

Здравствуйте!

Пример:

$myvar = 'abc';

function a() {
  global $myvar;
  var_dump( $myvar );
  // вывод: string(3) "abc" // переменная видна

  // теперь вложенная функция
  function b() {
    global $myvar;
    var_dump( $myvar );
  // вывод: // переменная не видна
  }
}


Почему вложенная функция b() не видит переменную $myvar? И как заставить её видеть эту переменную?

Спасибо!
  • Вопрос задан
  • 509 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Потому что про волженные функции надо забыть как про страшный сон.
Как и про глобальные переменные.
Для передачи переменной в функцию служат параметры функции.

function a($myvar) {
  var_dump( $myvar );
}
function b($myvar) {
    var_dump( $myvar );
}

просто, надёжно, и тебя не задушит ночью подушкой человек, который после тебя будет поддерживать эти многоэтажные наслоения гуано
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы