logo search
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

Функции

Функция может быть определена с использованием синтаксиса:

function fname ($arg_1, $arg_2, ..., $arg_n)

{

echo "Пример \n";

return $val; //возвращаемое значение

}

Необязательный оператор return возвращает значение любого типа, в том числе список и объект.

<?php //pr11.php-найти все натуральные числа, не //превосходящие m и содержащие хотя бы одну девятку в //десятичном представлении

$m=rand(10,150); //случайное значение m

print "m=$m<br>";

for($i=1;$i<$m;$i++)

{$k=f($i);

if($k!=0)print "$k<br>";

}

function f($n)

{$l=$n;

do

{

if(($l%10)==9)return $n;}

while(($l/=10)!=0);

return 0;

}

?>

Пример. Вычисление площади треугольника по формуле Герона.

<html>

<head><title>Square</title></head>

<body>

Стороны треугольника:<br>

<?php //pr12

$a=rand(1,100);

$b=rand(1,100);

$c=rand(1,100);

print "$a<br>$b<br>$c<br>";

Proverka($a,$b,$c);

function Proverka($a,$b,$c)

{if(($a+$b<=$c)||($a+$c<=$b)||($b+$c<=$a))

echo "Треугольника с указанными сторонами не существует!!!!<br>Перезагрузите страницу!<br>";

else{

echo "Всё правильно!Треугольник с указанными сторонами действительно существует!!!!<br>";

$s=Geron($a,$b,$c);

echo "Его площадь равна<br> ";

print "$s";

}

}

function Geron($a,$b,$c){

$p=($a+$b+$c)/2;

return sqrt($p*($p-$a)*($p-$b)*($p-$c));

}

?>

</body>

</html>

Несколько значений можно возвратить путём возвращения списка и функции list().

function numbers()

{

return array (0, 1, 2);

}

list ($zero, $one, $two) = numbers();

Операция ссылки & в объявлении функции и в присвоении возвращаемого значения позволяет возвратить ссылку:

function &reference()

{

return $ref;

}

$newref =&reference();