Функции в PHP
- Подробности
- Категория: PHP
- Просмотров: 424
Если программировать на 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