@Shimpanze

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

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

Пример:

$myvar = 'abc';

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

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


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

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

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

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

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

Похожие вопросы