2015-06-12 3 views
1

У меня довольно длинная расширенная функция, и единственное, что изменилось для меня, чтобы использовать ее в другом месте приложения, было бы изменить переменную global, объявленную внутри нее.Задание глобальной переменной вне функции

function some_function() { 
    global $sys; 

    // ... Do stuff 

} 

some_function(); 

мне нужно изменить global $sys; к global $lang; или, возможно, несколько других вещей, но все остальное останется тем же самым. Я думал, что-то вроде:

function some_function($global_var) { 
    global $global_var; 

    // ... Do stuff 

} 

some_function($sys); 

... или, может быть ...

some_function($lang); 

Как это можно сделать?

+0

Вы хотите изменить глобальное имя? или значение? –

+0

@ Ханонс жаль, что мне сложно объяснить это. Я хочу, чтобы иметь возможность объявлять другую глобальную переменную внутри функции. – JROB

ответ

0

Вместо использования global, вы могли бы просто передать «глобальной переменной» в качестве параметра в функцию по ссылке:

function some_function(&$global_var) { 

    // ... Do stuff 

} 

Тогда вы могли бы использовать эту функцию в другом месте, не требуя, чтобы изменить «глобальной переменной» имя.

0

Также рассмотрите ключевое слово use, чтобы импортировать переменную извне области видимости вместо работы в глобальной области.

Смежные вопросы