Функции в PHP

Если программировать на php, то без функций не обойтись...но для новичков очень сложно их понять.

Много учителей и все учат по разному.

Функции в PHP работают и записываются следующим образом (на примере):

 

function sum ($x, $y) {
    return $x + $y;
}

echo sum (10, 5);

Результат будет 15 как вы понимаете

 

Как мы видим функция на языке программирования php задается:

1) словом function , после которого идет ее название, в данном случае sum (берем, чтобы было читабельно кратко и понято...от слово "сумма").

2) далее идут обычные круглые скобки, в которых задаются условия или вводные данные.

3) после фигурные скобки, в которых реализуется алгоритм выполнения функции.

Вот и все...очень просто!

 

Области видимости

Внутри функции - локальная видимость, а за ее пределами - глобальная. Чтобы переменные извне - из глобальной видимости стали видны внутри - локально, надо воспользоваться словом global :

$x = 5;
$y = 10;

function sum () {
     global $x, $y;
     return $x + $y;
}

echo sum ();

Выводит результат как всегда echo ... можно задать ее как внутри функции, так и снаружи.

В примере выше, функция не ожидает изначально никаких аргументов, поэтому в скобках около sum пусто, но можно записать так:

function sum ($x = 0, $y)

тогда это означает, что $x по умолчанию будет равна ноль, даже если ее не задали внутри, а вот $y надо будет задать так как функция ее требует тут - иначе будет ошибка Warning: Missing argument 1 for sum(), called in..

Внимание: пропущенный аргумент в той то функции, которая вызывается на той то строчке...

 

Рекурсивные функции в PHP

То есть, это такие функции, которые могут ссылаться на выполнения самой себя...с помощью них, например, можно выводить файлы в папке на php и тд

В данном случае самым популярным примером является, вычисление чисел Фибоначчи:

 

function fibanacci ($n, $prev1 = 1, $prev2 = 0) {
$x = $prev1 + $prev2;
echo $x . " ";

if ($n > 1) {
     fibanacci ($n-1, $x, $prev1);
     }
}

fibanacci (10);

 

Получаем ряд: 1 2 3 5 8 13 21 34 55 89

 

 

 

Добавить комментарий


Защитный код
Обновить