php

#4.15 php Условное описание функций

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

#4.14 php Переменные, ссылающиеся на функции. Анонимные функции

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

#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 Функции с переменным количеством аргументов

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

Pages

Subscribe to RSS - php