Оглавление

Область видимости переменных

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

 

Основное правило гласит, что переменные, определенные в главном теле сценария, недоступны внутри функции. Аналогично, внутренние переменные функции не видны в главной части сценария.
====================Области видимости
Переменные, доступные внутри функции, называются локальными. Это значит, что они доступны только внутри функции. Нелокальные переменные называются глобальными.
Локальные и глобальные переменные могут иметь одинаковые имена и содержать различные значения. Несмотря на это лучше избегать одинаковых имен, чтобы не путаться и сделать сценарий более удобочитаемым.---------------------

 

Когда вызывается функция add_tax, вычисляется значение переменной $total и возвращается как результат. Однако даже после вызова add__tax локальная переменная $total не определена за пределами этой функции.
В примере ниже сделана попытка вывести значение глобальной переменной внутри функции:

function display_value() { 
	echo $value;
}
$value = 125;
display_value();


Этот сценарий не выводит ничего, потому что $value не определено в локальной области.

 

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


function change_value() {
	global $value; 
	echo   "До: $value <br>"; 
	$value = $value * 2;
}
Svalue = 100;
display_value();
echo "После: $value <br>";


Значение $value теперь изменяется внутри функции, и на выходе получаем следующее:
До:    100

После:   200

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити