Печать
Родительская категория: Основы программирования
Категория: PHP

Функция в 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
Т.е. возврат значения позволяет присвоить функции определенное значение, которое можно в последствии, например, записать в переменную.