PHP: глобальная область переменных

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

Ex. У меня есть значение $myval в файле values.php . В index.php я вызываю функцию, которая нуждается в значении $myval .

Если я добавлю include(values.php); в начале файла index.php он теряет область внутри функции. Я буду вызывать одну и ту же переменную в нескольких функциях в файле index.php.

Внутри функции используйте ключевое слово global или получите доступ к переменной из массива $GLOBALS[] :

 function myfunc() { global $myvar; } 

Или, для лучшей читаемости: используйте $GLOBALS[] . Это дает понять, что вы обращаетесь к чему-то в глобальном масштабе.

 function myfunc() { echo $GLOBALS['myvar']; } 

Наконец, хотя,

По возможности избегайте использования глобальной переменной для начала и передавайте ее в качестве параметра функции:

 function myfunc($myvar) { echo $myvar . " (in a function)"; } $myvar = "I'm global!"; myfunc($myvar); // I'm global! (in a function) 

Используйте внутри своей функции:

 global $myval; 

PHP – переменная область

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

 $outside_variable = "foo"; function my_function() { global $outside_variable; echo $outside_variable; } 

Есть ли причина, по которой вы не можете передать переменную в свою функцию?

 myFunction($myVariable) { //DO SOMETHING } 

Это гораздо лучшая идея – передавать переменные, а не использовать глобальные переменные.

То же, что если бы вы объявили переменную в том же файле.

 function doSomething($arg1, $arg2) { global $var1, $var2; // do stuff here }