Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка сайта компьютерных игр.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4 Мб
Скачать
☆

1.2.9 Оператор require

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

1.2.10 Оператор include

Вставляет и выполняет содержимое указанного файла.

<?php

$files = array ("first.inc", "second.inc", "third.inc");

for ($a = 0; $a < count($files); $a++) {

include($files[$a]);

}

?>

Так как include() – это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.

<?php

if ($a < 5) {

include("file_1.inc");

} else {

include("file_2.inc");

}

?>

1.2.11 Оператор function

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

<?php

function foo ($arg_1, $arg_2, ..., $arg_n) {

echo "Пример функции";

return $retvalue;

}

?>

Возвращение результатов. Результаты возвращаются через необязательный оператор return. Причем результат может быть любого типа, включая списки и объекты.

<?php

function my_sqrt ($num) {

return $num * $num;

}

echo my_sqrt(4); //выведет 16

?>

Множественные результаты не могут быть возвращены в качестве результата, но можно реализовать это путем возврата списка:

function foo() {

return array (0, 1, 2);

}

list ($zero, $one, $two) = foo();

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

Списки аргументов переменной длины не поддерживаются, но того же можно достичь, передавая массивы:

function takes_array($input) {

echo "$input[0] + $input[1] = ", $input[0]+$input[1];

}

Передача по ссылке. По умолчанию аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке. Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции:

function foo( &$bar) {

$bar .= "и добавочная строка.";

}

$str = "Это строка, ";

foo($str);

echo $str; // выведет: "Это строка, и добавочная строка."

function foo($bar) {

$bar .= "и добавочная строка.";

}

$str = "Это строка, ";

foo($str);

echo $str; //выведет: "Это строка, "

foo(&$str);

echo $str; //выведет: "Это строка, и добавочная строка."

Значения по умолчанию. Значение по умолчанию должно быть константой, а не переменной или членом класса.

function day ($type = "понедельник") {

echo "Сегодня $type.";

}

echo day(); //выведет: Сегодня понедельник.

echo day("вторник"); //выведет: Сегодня вторник.

Аргументы по умолчанию при описании должны находиться справа от остальных аргументов.

function day($day_num, $type = "понедельник") {

return "Сегодня $day_num - $type.";

}

1.2.12 Оператор оld_function

Оператор old_function позволяет определять функцию, используя синтаксис PHP/FI2 (за исключением того, что мы должны заменить function на old_function).

Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2→PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать old_function.