Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2014, 15:13   #1
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию PHP получить переменную из родительской области видимости

Не могу получить в анонимной функции хэш из родительской функции, скажите как оно делается на самом лучшем ЯП?

Код:
  function tmplByData( $str, $data ){
    var_dump($data); // тут data жив и здоров
    $out = preg_replace_callback("/<%=(.+?)%>/", function( $match ){
      var_dump($data); // а тут он уже нуль
      $_temp = $data[trim( $match[1] )];
      return tmpl($_temp);
    }, $str);
    return $out;
  };
В документации вещают:
Цитата:
Замыкания могут также наследовать переменные из родительской области видимости. Любая подобная переменная должна быть объявлена в заголовке функции.
т.е. я как-то не так объявляю ее?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 29.08.2014, 15:31   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Нашел, всем спасибо за внимание
Код:
  function tmplByData( $str, $data ){
    $out = preg_replace_callback("/<%=(.+?)%>/", function( $match ) use ($data) {
      $_temp = $data[trim( $match[1] )];
      return tmpl($_temp);
    }, $str);
    return $out;
  };
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсутствие декларации в области видимости(MinGW) halcyon Общие вопросы C/C++ 2 31.07.2013 03:02
Расширение области видимости локального объекта на все файлы. mmx358 Общие вопросы C/C++ 9 13.07.2012 11:18
Вопрос по области видимости LMnet Общие вопросы C/C++ 2 04.04.2011 08:02
Как сделать чтобы новые строки всегда были в области видимости? neugadal Microsoft Office Excel 9 06.09.2008 12:23