Function self_count()
{
static $count = 0; // статическая переменная
$count++;
echo $count;
}
При первом обращении к функции статическая переменная принимает начальное значение. При каждом последующем обращении она изменяется.
В PHP имя функции можно присвоить переменной, взяв это имя в кавычки. Если после имени такой переменной поставить в круглых скобках список фактическихпараметров, то эта переменная будет работать как исходная функция:
<&php
function summa($x, $y) // $x, $y – формальные параметры
{
$z = $x + $y; // $z – локальная переменная
return $z;
}
$name = “summa”; // переменной присвоено имяфункции
$a = 3;
$b = 5;
$c = $name($a, $b); // обращение к переменной как к функции
echo ‘Сумма = ‘, $c, “<BR>”; // $c=8
?>
Имена функций можно хранить в массивах:
<?php
function my_func($a)
{
return $a*$a;
}
$func_array=array
(
"sqrt",
"ceil",
"floor",
"round",
"my_func"
);
$x=3.14159265;
echo "Значение х равно $x", "<BR>";
foreach($func_array as $value)
{
echo $value, ' = ',$value($x), "<BR>";
}
echo "<BR>";
?>
На экран будет выведено:
Значение х равно 3.14159265
sqrt = 1.7724538498929
ceil = 4
floor = 3
round = 3
my_func = 9.869604378534
Рекурсия
В PHP поддерживаются рекурсивные вызовы функций – обращение функции к самой себе внутри себя. Приведем классический пример вычисления факториала заданного числа:
function factor($n)
{
if ($n == 0)
Дата добавления: 2015-08-26; просмотров: 630;