Конструкция return возвращает значения, преимущественно из пользовательских функций, как параметры функционального запроса. При вызове return исполнение пользовательской функции прерывается, а конструкция return возвращает определенные значения.
Если конструкция return будет вызвана из глобальной области определения (вне пользовательских функций), то скрипт также завершит свою работу, а return также возвратит определенные значения.
Преимущественно, конструкция return используется для возврата значений пользовательскими функциями.
Возвращаемые значения могут быть любого типа, в том числе это могут быть списки и объекты. Возврат приводит к завершению выполнения функции и передаче управления обратно к той строке кода, в которой данная функция была вызвана.
Пример использования конструкции return для возврата значений типа integer:
Для того чтобы функция возвращала результат по ссылке, вам необходимо использовать оператор & и при описании функции, и при присвоении переменной возвращаемого значения:
<?php function &returns_reference() { return $someref; }
$newref =& returns_reference(); ?>
Как мы видим, конструкция return весьма удобна для применения в пользовательских функциях.
Конструкции включений позволяют собирать PHP программу (скрипт) из нескольких отдельных файлов.
В PHP существуют две основные конструкции включений: require и include.
Конструкция require позволяет включать код до выполнения сценария. Общий синтаксис require такой:
require имя_файла;
При запуске (именно при запуске, а не при исполнении!) программы интерпретатор просто заменит инструкцию на содержимое файла имя_файла (этот файл может также содержать сценарий на PHP, обрамленный, как обычно, тэгами <? и ?>). Причем сделает он это непосредственно перед запуском программы (в отличие от include, который рассматривается ниже). Это бывает довольно удобно для включения в вывод сценария различных шаблонных страниц HTML-кодом. Приведем пример:
Файл header.html: <html> <head><title>It is a title</title></head> <body bgcolor=green>
Файл script.php <?php require "header.htm"; // Сценарий выводит само тело документа require "footer.htm"; ?>
Таким образом, конструкция require позволяет собирать сценарии PHP из нескольких отдельных файлов, которые могут быть как html-страницами, так и php-скриптами.