Функция в php представляет собой блок кода, который выполняет определенный набор действий. Функция имеет название и входные параметры, а так же может возвращать результат.
Важно! Название функции не должно начинаться с цифры и не должно содержать в себе знак "-". Название может содержать знак "_", а так же начинаться с него.
Общий синтаксис функции выглядит так:
function
имя_функции([параметры функции])
{
// Тело функции
}
Пример простой функции, которая просто выводит строку:
<?php
function SayHello ()
{
echo "Hello, World!";
}
?>
Далее в коде эта функция будет вызываться следующим образом:
<?php
SayHello ()
?>
Теперь напишем функцию, которая будет содержать 2 локальные переменные и выполнять математическую операцию. Локальной переменной называют переменную, объявленную внутри функции. Область видимости локальной переменной начинается в точке её объявления и заканчивается в конце функции:
<?php
function MyFunction ()
{
$a = 3;
$b = 5;
echo $a + $b;
}
MyFunction ()
?>
Рассмотрим глобальные переменные. Глобальная переменная - это переменная, объявленная вне тела функции. При этом функция может использовать глобальную переменную, но не может перезаписывать ее значение. Функция может перезаписать значение глобальной переменной только в пределах самой себя. Например:
<?php
$a = 10;
function MyFunction ()
{
$a = 1;
echo $a;
}
MyFunction ();
echo '<br>';
echo $a;
?>
Результат будет:
1
10
Т.к. переменная a=10 - глобальная и перезаписалась на 1, только в пределах функции MyFunction. Иными словами, это 2 разные переменные: локальная и глобальная.
Функции с параметрами
Параметры функции указываются в скобках после ее названия, через запятую.
<?php
function SayHello ($name)
{
echo "Hello, ". "$name". "! Good day!";
}
?>
Теперь, при вызове функции, нужно передать в скобках значение этого параметра:
<?php
SayHello ("Vasya")
?>
И программа выдаст: Hello, Vasya! Good day!
Другой пример, с числами:
<?php
function MyFunction2 ($a, $b)
{
$c = $a + $b;
echo $c;
}
MyFunction2 (2, 3)
?>
Возврат значения функцией
Функция может возвращать значение при помощи слова return. Например:
<?php
function MyFunction3 ($a, $b)
{
$c = $a + $b;
return $c; // возвращаем значение $с, которое присваивается функции MyFunction3
}
$result = 0; // начальное значение result 0
$result = MyFunction3 (2, 3); // записываем в переменную result значение функции MyFunction3
echo $result
?>
Результат будет:
5
Т.е. возврат значения позволяет присвоить функции определенное значение, которое можно в последствии, например, записать в переменную.