Създаване на функции (Част 3)

Създаване и работа с функции, връщащи стойност

Време е да накараме функцията да връща резултат или стойност (тя може и да не иска, но май няма избор).
За да осъществим това, на първо място е необходимо вътре във функцията да впишем инструкцията return; и второ, при извикване на функцията тя трябва да обработва някак си връщаната стойност. Обикновено тя се присвоява на променлива, но може просто да се разпечата резултата. Синтаксисът на функцията, която приема аргумент и връща стойност е следния:
function име_на_функцията ($аргумент) { 
 инструкция/инструкции; 
 return $стойност; 
} 
Вътре във функцията може да се впише друга функция или клас. Обикновено горната функция се използва с ред като този:
$стойност = име_на_функцията ($стойност);  
  1. Отворете текстовия редактор.
  2. Създайте нов файл.
  3. Дайте му наименование function_return.php.
  4. Въведете:
<!Doctype html>
<html>
<head>
<title>Функция, връщаща стойност</title>
<meta http-equiv="Content-Type" content="text/html"; 
charset="UTF-8">
</head>
<body>

<?php

?>
</body>
</html>
Между отварящия и затварящия таг за РНР въведете следния скрипт:
<?php
//Създава функция, изчисляваща
//стойността $cost на определено количество
//ябълки $apple, с единична цена $price
function PriceApple ($price, $apple){
$cost = $apple * $price;
return $cost; 
}
?>
Кое какво е?

PriceApple () – наименование на функцията;
$price, $apple- аргументи на функцията;
$cost = $apple * $price; - инструкция за пресмятане;
return $cost;- инструкция коя стойност да върне функцията.

Функцията е създадена. За да се изпълни е необходимо да бъде извикана.
echo PriceApple ($price="2", $apple="5");
Обърнете внимание, че при извикване на функцията е необходимо да се зададат стойности на аргументите. Езиковата конструкция echo е необходима, за да изведе на екрана върнатата от функцията стойност.

След затварящия таг на горепоместения скрипт въведете:
<?php

//Извиква функцията
echo "Цената на 5 kg ябълки е" . " " . 
PriceApple ($price="2", $apple="5") . 
" "."лева" . ".";

//Извежда съобщения, ако е извикана
//функцията PriceApple ($price, $apple)
if (PriceApple($price, $apple)){
echo "<br><br>" . "<p style= \"color: green; 
width: 400px; align: justify;\">
Защо ябълките са полезни?" . "<br><br>";
echo "Заздравяват и избелват зъбите.
Подобряват метаболизма,
заради ненаситените мастни киселини,
които съдържат. 
Имат нисък гликемичен индекс,
поради ниското съдържание на въглехидрати.
Съдържат витамините - А, В, С, D и др.
Консумирайте ги с обелката, без да ги режете с нож,
за да не \"избяга\" витамин С. 
Обожавам ябълки.</p>";
}
?>
Ето и съдържанието на целия файл function_return.php:
<!Doctype html>
<html>
<head>
<title>Функция, връщаща стойност</title>
<meta http-equiv="Content-Type" content="text/html"; 
charset="UTF-8">
</head>
<body>

<?php
//Създава функция, изчисляваща
//стойността $cost на определено количество
//ябълки $apple, с единична цена $price
function PriceApple ($price, $apple){
$cost = $apple * $price;
return $cost; 
}
?>

<?php

//Извиква функцията
echo "Цената на 5 kg ябълки е" . " " . 
PriceApple ($price="2", $apple="5") . 
" "."лева" . ".";

//Извежда съобщения, ако е извикана
//функцията PriceApple ($price, $apple)
if (PriceApple($price, $apple)){
echo "<br><br>" . "<p style= \"color: green; 
width: 400px; align: justify;\">
Защо ябълките са полезни?" . "<br><br>";
echo "Заздравяват и избелват зъбите.
Подобряват метаболизма,
заради ненаситените мастни киселини,
които съдържат. 
Имат нисък гликемичен индекс,
поради ниското съдържание на въглехидрати.
Съдържат витамините - А, В, С, D и др.
Консумирайте ги с обелката, без да ги режете с нож,
за да не \"избяга\" витамин С. 
Обожавам ябълки.</p>";
}
?>

</body>
</html>
Съхранете файла, качете го на сървъра и разгледайте в браузъра:

function_return.jpg

Не мога да го накарам да изяде ябълката

Запомнете:

  • Във функция, която връща стойност, се изпълнява само една инструкция return. Да предположим, че сте създали функция, която ще изпълнява изпълнението на някакво условие и ще връща съответната стойност. В случая, ще напишете подобен код:
    if (условие) { 
      return TRUE; 
     } else { 
      return FALSE; 
     }
    
    Резултатът, върнат от функцията, ще е истина или лъжа в зависимост от това дали е изпълнено условието.

  • Инструкцията return връща само една стойност. За получаването на повече стойности е необходимо да използвате масиви.

Ето и пример със скрипт, който определя вида на триъгълника според големината на ъглите му (дори първокласник ще се справи с това). :)
Наименовайте файла triangle.php.
<!Doctype html>
<html>
<head>
<title>Функция, връщаща стойност</title>
<meta http-equiv="Content-Type" content="text/html"; 
charset="UTF-8">
</head>
<body>

<?php
//Създаваме функция за определяне
//големината на третия ъгъл ($c)
//по зададени два ($a, $b)
function triangle ($a, $b) {
$c= 180 - ($a+$b);
return $c;
}
?> 
<?php
//Извиква функцията и извежда върнатата стойност
echo "Ъгълът с е равен на" . " " . 
triangle ($a=120, $b=45) . " " . "градуса." . "<br><br>";
//Присвоява върнатата стойност на променливата $c
$c=triangle ($a, $b);

//Определя вида на триъгълника
if ($a<90 and $b<90 and $c<90){
 echo "Триъгълникът е остроъгълен.";
}
elseif ($a>90 or $b>90 or $c>90){
 echo "Триъгълникът е тъпоъгълен.";
}
else{
 if ($a=90 or $b=90 or $c=90)
  echo "Триъгълникът е правоъгълен."; 
}
?>

</body>
</html>
triangle_1.jpg

triangle_2.jpg

triangle_3.jpg


sign.png

Няма коментари:

Публикуване на коментар