#4.13 php Статические переменные

Следует иметь в виду, что локальные переменные в функциях инициализируются при каждом ее запуске. Между вызовами функции значения локальных переменных не сохраняются. Это демонстрирует пример 1, в котором делается попытка использовать функцию track_count для увеличения значения внутреннего счетчика.

#4.12 php Глобальные переменные

Локальные переменные ограничены той функцией, в рамках которой они используются. При этом переменные, описанные в основном скрипте (они называются глобальными), для функции являются недоступными. В отличие от некоторых других языков программирования, в РНР такой доступ по умолчанию запрещен, чтобы избежать конфликтов локальных и глобальных данных. Чтобы получить доступ к глобальным переменным, должно использоваться их явное описание при помощи оператора global. Следующий пример демонстрирует использование как локальных, так и глобальных переменных.

#4.11 php Локальные переменные

Как рассказывалось выше, областью действия переменной называется та часть кода, в которой сохраняется ее значение. Область действия приобретает важное значение при использовании функций. В скриптах, не содержащих функций, областью действия является весь скрипт целиком. Например, если переменная была один раз использована в начале скрипта, то ее значение будет сохраняться до конца скрипта или до тех пор, пока оно не будет изменено в результате другого оператора присваивания. В нижеследующем фрагменте кода оба раза речь идет об одной и той же переменной $count:

#4.10 php Функция, возвращающая ссылки

Помимо передачи аргументов функции по ссылке имеется возможность вернуть ссылку как результат вызова функции. Это может быть необходимо при дальнейшем использовании ссылок в коде программы. Данная технология применяется достаточно редко и требует особой аккуратности. Ссылка указывает на то же место в памяти, которое занимает исходная переменная. Для создания ссылки используется оператор &:

#4. 9 php Использование списков

Использование функции, которая возвращает массив данных, является одним из способов передачи нескольких значений из функции. Существует модификация этого способа, при котором используется списки переменных. Для описания списка переменных применяется системная функция list, осуществляющая присвоение перечисленным при ее вызове переменным значений элементов массива. Для демонстрации использования этой функции взята функция array_doubler из предыдущего раздела, которая удваивает значения элементов массива.

#4. 8 php Функция, возвращающая массив

Функция может вернуть в качестве своего результата не только скалярное значение, но и целый массив. Для этого используется тот же самый оператор return, описанный в предыдущем разделе. Например, требуется разработать функцию, которая удваивает элементы массива, переданного ей в качестве единственного аргумента:

function array_doubler($arr)
{
    ...
}

В теле функции осуществляется циклическая обработка элементов массива, которая состоит в том, что их значения удваиваются и помещаются на прежнее место:

#4. 7 php Функции, возвращающие значение

Большинство встроенных функций в РНР возвращают какое-либо значение в качестве результата. Несмотря на то, что это свойство широко использовалось в предыдущих главах, до сих пор все разработанные функции не возвращали никаких значений. Пришло время исправить этот недостаток. Для возврата значения из функции используется оператор return, синтаксис которого представлен ниже:

#4. 6 php Функции с переменным количеством аргументов

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

#4. 5 php Передача аргументов по ссылке

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

#4. 4 php Значения аргументов по умолчанию

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

function greeting($text)
{
    echo Stext, "\n";
}
greeting("С добрым утром!");

Такую функцию можно по ошибке вызвать без указания аргумента: greeting();. В этом случае будет выведено сообщение об ошибке:

Pages

Subscribe to fkn+antitotal RSS