Как сделать глобальные все переменные, начиная с этого выражения - PullRequest
0 голосов
/ 13 июня 2019

У меня есть функция, и я хочу объявить все как глобальные все переменные, начиная с $ lang_, потому что до сих пор у меня есть что-то вроде этого:

function {
 global $lang_welcome;
 global $lang_hello;
 global $lang_footer;
 ...

}

, но у меня есть путь ко многим переменным, таким как эта, объявляя однуодним не может быть и речи.Есть обходные пути?

1 Ответ

0 голосов
/ 13 июня 2019

Я не уверен, что вы пытаетесь достичь, но если все переменные объявлены вне функции, и вы хотите получить доступ к ним внутри, вы можете сделать что-то вроде этого:

function func(&$vars) {

    foreach ($vars as $name => $var) {
        if (strpos($name, 'lang') === 0) {
            global ${$name};
        }
    }

    echo $lang_a;
    echo $lang_b;
}

$lang_a = 'lang_a';
$lang_b = 'lang_b';

$vars = get_defined_vars();

func($vars);

thisэто грязный путь, но я верю, что это может обеспечить вашу цель.

...