Функциейназывается фрагмент программного кода, обладающий уникальным именем и предназначенный для решения конкретной задачи. Функция вызывается по имени в разных точках программы, что позволяет многократно выполнять фрагмент с указанным именем. Преимущество такого решения заключается в том, что блок кода пишется всего один раз, а затем легко модифицируется по мере необходимости.
Пример задания функции.
<html>
<HEAD>
<TITLE>
<?php
echo "Пример функции ";
?>
</TITLE>
</HEAD>
<BODY>
<?php
function error_msg ($err)
{
echo "<b>Ошибка!<br>Причина: ", $err, "</b><br>";
}
error_msg ("Не коректный ввод числа!");
error_msg ("Система выполнила недопустимую ошибку и сейчас будет закрыто! ");
?>
</BODY>
</html>
Описание пользовательской функции начинается со слова function. Затем задаются имя и входные параметры функции. Далее в фигурных скобках следует тело функции, в котором указываются команды на исполнение. Причем описание функции может быть в любом месте независимо от того, где вызываем ее. Хотя в версиях PHP ниже 4-й необходимо сначала описывать, а потом использовать!
Задание 2. Функции, возвращающие значения.
Пример задания такой функции.
<html>
<HEAD>
<TITLE>
<?php
echo "Функция возведения в квадрат";
?>
</TITLE>
</HEAD>
<BODY>
<?php
function kv ($num)
{
return $num*$num;
}
echo "2 в квадрате=",kv(2),"<br>";
echo "3 в квадрате=",kv(3);
?>
</BODY>
</html>
Данная функция подсчитывает квадрат числа, который передается в качестве параметра. Возвращение результата происходит посредством оператора return, который находится в теле цикла. Все, что записывается после него, функция передает программе. Также оператор return можно использовать для завершения работы функции.
<html>
<HEAD>
<TITLE>
<?php
echo "Функция деления 1/число";
?>
</TITLE>
</HEAD>
<BODY>
<?php
function del ($num)
{
if ($num==0) return;
return 1/$num;
}
echo del (0);
echo "<br>";
echo del (3);
echo "<br>";
echo del (0);
echo "<br>";
echo del (4);
?>
</BODY>
</html>
В последнем примере если мы передадим в качестве в входного параметра 0, то программа не выдаст предупреждение об ошибке, так как завершиться еще до выполнения операции деления.
Задание 3. Функции с множественными параметрами.
Пример задания такой функции.
<html>
<HEAD>
<TITLE>
<?php
echo "Функция с множественными параметрами";
?>
</TITLE>
</HEAD>
<BODY>
<?php
function sum($num=0, $num2=1)
{
return $num+$num2;
}
echo sum(2,3), "<br>";
echo sum(2), "<br>";
echo sum(0,3), "<br>";
echo sum(), "<br>";
?>
</BODY>
</html>
В данном примере параметры указывали через запятую, причем оба они являются по умолчанию, в случае, если мы не задаем какой либо параметр.