Require

Оператор REQUIRE заменяет себя содержимым указанного файла, похоже на то,как в препроцессоре C работает #include.

Это означает, что вы не можете поместить require() внутрь цикла и ожидать, что он включит содержимое дугого файла несколько раз в процессе каждой итерации. Для это используйте INCLUDE.

require ('header.inc');

INCLUDE

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

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

$files = array ('first.inc', 'second.inc', 'third.inc');for ($i = 0; $i < count($files); $i++) { include($files[$i]);}

include() отличается от require() тем, что оператор include выполняется каждый раз при его встрече, а require() заменяется на содержимое указанного файла безотносительно будет ли выполнено его содержимое или нет

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

/* Это неправильно и не будет работать, как хотелось бы. */ if ($condition) include($file);else include($other); /* А вот это - верно. */ if ($condition) { include($file);} else { include($other);}

Когда файл исполняется, парсер пребывает в "режиме HTML", то есть будет выводить содержимое файла, пока не встретит первый стартовый тег PHP (<?).

Также смотрите readfile(), virtual().

FUNCTION

Функция может быть объявлена следующим образом:

function foo ($arg_1, $arg_2, ..., $arg_n) { echo "Example function.\n"; return $retval;}

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

Функции должны быть определены перед тем, как на них ссылаться.

Возвращение результатов

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

function my_sqrt ($num) { return $num * $num;}echo my_sqrt (4); // outputs '16'.

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

function foo() { return array (0, 1, 2);}list ($zero, $one, $two) = foo();

Аргументы

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

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

function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1];}

Наши рекомендации