Функции
Функции представляют собой блок инструкций, которые многократно можно вызывать в различных частях программы. Функции позволяют разделять программу на меньшие функциональные части.
Общий синтаксис определения функции выглядит следующим образом:
function имя_функции([параметр [, ...]])
{
// Инструкции
}
Определение функции начинается с ключевого слова function
, за которым следует имя функции. Имя функции должно начинаться с алфавитного символа или подчеркивания, за которыми может следовать любое количество алфавитно-цифровых символов или символов подчеркивания.
После имени функции в скобках идет перечисление параметров. Даже если параметров у функции нет, то просто идут пустые скобки. Затем в фигурных скобках идет тело функции, содержащее набор инструкций.
Определим простейшую функцию:
<?
function hello()
{
echo "Hello PHP";
}
Данная функция назывется hello
. Она не имеет параметров, поэтому после названия функции идут пустые скобки. Блок функции содержит только одну инструкцию, которая выводит сообщение "Hello PHP".
Чтобы функция сработала, ее надо вызвать. Для вызова функции указывается ее имя, после которого в скобках идут значения для ее параметров (если, кончено, она имеет параметры):
название_функции (значения_для_параметров_функции);
Например, вызовем вышеопределенную функцию hello
:
<?
function hello()
{
echo "Hello PHP";
}
hello(); // вызов функции
Поскольку для функции hello мы не определили никаких параметров, то при ее вызове указываем название функции и после нее пустые круглые скобки. Заканчивается вызов функции точкой с запятой.
В итоге браузер выведет сообщение:
Hello PHP
Преимуществом функций является то, что, определив однажды, мы можем многократно их вызывать в различных частях программы:
<!DOCTYPE html>
<html>
<head>
<title>METANIT.COM</title>
<meta charset="utf-8" />
</head>
<body>
<?
function hello()
{
echo "<h2>Hello PHP</h2>";
}
hello();
hello();
hello();
?>
</body>
</html>
Результат работы:
Hello PHP
Hello PHP
Hello PHP
Стоит отметить, что в данном случае сначала определяется функция, а затем она вызывается. Но мы также можно сделать наоборот:
<?
hello(); // вызов функции
function hello()
{
echo "Hello PHP";
}
Тем не менее есть исключения. В частности, при определении функции при определенном условии.
<?
// hello(); // здесь будет ошибка
if(true){
function hello()
{
echo "Hello PHP";
}
hello();
}