Оператор 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 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];}