2010-11-27 3 views
0

Я хочу объявить глобальную переменную с помощью PHP и использовать внутри функций.Доступ к глобальным переменным изнутри функции в PHP

Я попытался:

$var = "something"; 
function foo() 
{ 
    echo $var; 
} 

еще получаю ошибку о том, что $var не определено.

Как это решить?

+0

Рекомендуемый подход, как правило, быть "не делают этого", например, http://stackoverflow.com/questions/484635/are-global-variables-bad – 2010-11-28 06:05:14

ответ

7
$var = "something"; 
function foo() 
{ 
    global $var; 
    echo $var; 
} 

Используйте термин «глобальный», когда вам нужно использовать переменные, объявленные вне области действия.

5

Переменные PHP имеют функциональные возможности. I.e., переменные внутри функции не могут быть доступны извне, а глобальные переменные не могут (по умолчанию) доступны из внутренних функций. При использовании ключевого слова global внутри функций для импорта/экспорта переменных - a, вы не должны этого делать. Функции должны быть самодостаточными; если вам нужно значение внутри функции, pass it as a parameter, если функции необходимо изменить глобальные значения, return их функции.

Пример:

function foo($arg) 
{ 
    echo $arg; 
} 
$var = "something"; 
foo($var); 

Пожалуйста прочитано: http://php.net/manual/en/language.variables.scope.php

+1

+1 для инъекций зависимостей – Gordon 2010-11-27 13:10:54

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