Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №12_Веб-технологии

.doc
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
32.77 Кб
Скачать

Лабораторная работа № 12.

Функции в php.

Цель работы: Изучить приемы работы с функциями в PHP.

Базовые сведения:

Функции в PHP

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

function mySum($a,$b) {

$result = $a+$b;

return($result);

};

Использование этой функции:

$result = mySum(2,3);

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

Имя функции должно быть уникальным с точностью до регистра букв. Это означает, что, во-первых, имена MyFunction, myf unction и даже MyFuNcTiOn будут считаться одинаковыми, и, во-вторых, мы не можем переопределить уже определенную функцию (стандартную или нет - не важно), но зато можем давать функциям такие же имена, как и переменным в программе (конечно, без знака $ в начале). Список аргументов, как легко увидеть, состоит из нескольких перечисленных через запятую переменных, каждую из которых мы должны будем задать при вызове функции. Конечно, если у функции не должно быть аргументов вовсе (как это сделано у функции time ()), то следует оставить пустые скобки после ее имени.

Любая функция в PHP состоит из 4 основных частей:

Имени функции.

Каждая функция должна иметь свое уникальное имя, в противном случае PHP выдаст ошибку о попытке переопределения функции.

Списка аргуметов.

Этот список может быть пустым (если функция не должна получать агрументов из внешней программы). Каждый аргумент должен иметь уникальное имя, под которым он будет "известен" внутри функции. В приведенном выше примере функция имеет два аргумента с именами $a и $b.

Непосредственно кода функции.

Функция может содержать внутри себя практически любой код, допустимый в PHP за исключением определения других функций и объектов (это, кстати, отличает PHP например от JavaScript, где вложенное определение функций допустимо). В нашем случае код функции занимается вычислением значения суммы двух переданных аргументов.

Возвращаемого значения.

Функция не обязана возвращать значение, но если сделать это необходимо, то это делается с помощью оператора return().

Возврат функцией нескольких значений

Возврат нескольких значений в виде массива.

function getNext(...) {

$result = array();

$result['data'] = ...;

$result[1] = ...;

return($result);

};

Использование глобальных переменных. Для возврата нескольких значений из функции можно использовать запись необходимых значений непосредственно в глобальные переменные. Обычно это считается очень плохим стилем программирования т.к. делает программу очень трудной для понимания и потенциально является источником ошибок.

Использование ссылок.

В PHP4 появилась возможность работать со ссылками (references). Если вы знакомы с C/C++, то для вас references не будут чем-то новым - это аналог указателей в C. Признаком использования references является наличие знака & перед именем переменной.

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

function getNext() {

global $data;

static $counter=0;

return($data[$counter++]);

};

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

Задания на лабораторную работу

  1. Постройте функцию, которая генерирует страницу, с таблицей заданных размеров.

  2. Постройте функцию распознавания простого числа.

  3. В отдельном файле содержится массив, содержащий: ФИО, возраст, пол, образование. Построить функцию отображающую данные из массива в виде таблицы на html-странице, специальным образом выделяя различные значения параметров.

  4. Создайте функцию калькулятор.