Минимальная пользовательская функция имеет формат “function imia(){ kod } … imia();”, где имя функции “imia()” обозначает код PHP “kod”. Функция описывается, начиная с “function” и кончая “}”, а потом вызывается “imia();”. При вызове выполняется код “kod”. Вызовов функции может быть любое количество.
Пример 1
1 2 3 4 5 6 7 8 9 |
<?php function primer() { $a = 2 + 3; echo $a; } primer(); primer(); ?> |
Данный пример выводит “55”.
В функцию можно передавать параметры. Функция с параметрами имеет формат “function imia(par1, par2 … parN){ kod } … imia(znach1, znach2 … znachN);”, где обозначения такие же как у минимальной функции, а также “par1, par2 … parN” – переменные-параметры, которые используются в коде “kod” и “znach1, znach2 … znachN” – соответствующие параметрам значения при вызове функции.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 |
<?php function summa($a, $b) { $s = $a + $b; echo $s; echo "<br>"; } summa(2, 3); summa(45, 20); summa(6, 9); ?> |
Пример выводит:
5
65
15
У параметров функции могут быть значения по умолчанию. При вызове функции можно опустить значения этих параметров. В таком случае будут использоваться значения по умолчанию. Параметры со значениями по умолчанию должны идти после параметров без значений по умолчанию. Формат описания функции: “function imia(par1, par2 … parN, um1 = znach1, um2 = znach2 … umM = znachM){ kod }”, где обозначения как у функции с параметрами, а также “um1, um2 … umM” параметры со значениями по умолчанию “znach1, znach2 … znachM” соответственно.
Пример 3
1 2 3 4 5 6 7 8 9 10 11 |
<?php function summa($a = 2, $b = 3) { $s = $a + $b; echo $s; echo "<br>"; } summa(); summa(45, 20); summa(6); ?> |
Пример выводит:
5
65
9
Чтобы функция изменяла переменные, переданные в неё как параметры, нужно в описании функции перед этими параметрами поставить амперсанды “&”.
Пример 4
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php function summa(&$s, $a = 2, $b = 3) { $s = $a + $b; } $n = 0; summa($n); echo $n . "<br>"; summa($n, 45, 20); echo $n . "<br>"; summa($n, 6); echo $n . "<br>"; ?> |
Данный пример выводит тоже, что и предыдущий пример 3.
Функция может возвращать результат, который заменяет её в месте вызова, – в коде функции используется команда “return R;”, где “R” – возвращаемый результат.
Пример 5
1 2 3 4 5 6 7 8 9 |
<?php function summa($a = 2, $b = 3) { return $a + $b; } echo summa() . "<br>"; echo summa(45, 20) . "<br>"; echo summa(6) . "<br>"; ?> |
Данный пример выводит тоже, что и предыдущие 2 примера 3 и 4.
Чтобы в функции использовать переменные описанные на более верхнем уровне, нужно перечислить их имена через запятую в конструкции “global”.
Пример 6
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $a = 2; $b = 3; $s = 0; function summa() { global $a, $b, $s; $s = $a + $b; } summa(); echo $s; ?> |
Данный пример выведет “5”.