Приднестровская поддержка XOOPS
Значения нужно передавать в функцию через аргументы, т.к. существует область видимости переменных. Это правила, которые определяют, в каких областях сценария можно получить доступ к переменной.
Основное правило гласит, что переменные, определенные в главном теле сценария, недоступны внутри функции. Аналогично, внутренние переменные функции не видны в главной части сценария.
====================Области видимости
Переменные, доступные внутри функции, называются локальными. Это значит, что они доступны только внутри функции. Нелокальные переменные называются глобальными.
Локальные и глобальные переменные могут иметь одинаковые имена и содержать различные значения. Несмотря на это лучше избегать одинаковых имен, чтобы не путаться и сделать сценарий более удобочитаемым.---------------------
Когда вызывается функция 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
Отправитель | Нити |
---|
11 пользователь(ей) активно (5 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 11 далее... |