2-дах жишээн
дээр хэдvvлээ интэрнэтээр гитар зарж байлаа гэж бодъё. Гитар бvр $50 ба татварт
нийт худалдааны 10%-г тєлнє. Хэрвээ худалдааны єртєг $300-с давсан нєхцєлд $99
хvртэлх хєнгєлєлт vзvvлнэ гэж бодъё.
Доорх 2 цонхонд харгалзах утгуудыг
бєглєнє vv.
Тэгэхээр
эхлээд сорсыг харъя.
<FORM NAME="form1"
METHOD="post" ACTION="example2.php">
Тоо:
<INPUT
TYPE="text" NAME="quantity" SIZE="4" MAXLENGTH="6"><BR>
Хєнгєлєлт:
<INPUT TYPE="text" NAME="discount" SIZE="1"
MAXLENGTH="2"><BR>
<INPUT TYPE="submit" NAME="Submit"
VALUE="Тооцоол">
<INPUT TYPE="reset"
NAME="Submit2" VALUE="Єєрчлєх"></FORM>
Эндээс
харахад дээрх 2 формын цонхнуудад QUANTITY (тоо) ба DISCOUNT (хєнгєлєлт) гэсэн
2 input авдаг. Авсан input-aa дараачийн РНР хуудаст шилжvvлэхэд тэдгээр нь argument
болоод function-уудад хэрэглэгдэнэ.
Одоо РНР хуудасны сорс кодыг харъя.
<?
function
calculate_total ($quantity, $discount) {
global $cost;
global $tax;
$total_cost = ($cost * $quantity);
$total_cost = ($total_cost - (($total_cost/100)
* $tax));
if (($total_cost < 300) AND ($discount)) {
print ("Таны
\$$discount-н хєнгєлєлт хvчингvй учир нь нийт худалдааны єртєг $300-с доогуур.<p>");
}
if ($total_cost >= 300) {
$total_cost = $total_cost - $discount;
}
return $total_cost;
}
// end of the calculate_total function.
function
calculate_payments ($total_cost, $number_payments = "12") {
$payments
= round ($total_cost, 2)/ $number_payments;
$payments = sprintf ("%01.2f",
$payments);
return $payments;
}
?>
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>
<body>
<?php
$cost
= 50.00;
$tax = 10.00;
if ($quantity) {
$quantity = abs($quantity);
$discount
= abs($discount);
$total_cost = calculate_total ($quantity,
$discount);
// print the results.
print "Та $quantity тооны
барааг ширхэгийг нь \$$cost-р худалдан авлаа.\n<p>";
print "Татварын
10%-г оролцуулан, хєнгєлєлтийг хасаад худалдааны єртєг $";
printf ("%01.2f",
$total_cost);
print ".\n<p>Та бараагаа 1 жилийн дотор сараар хувааж
тєлбєл сарын $";
print (calculate_payments($total_cost));
print " байх болно.\n<p>";
} else {
print "Худалдан
авах гитарын тоог оруулна уу.\n";
}
?>
</body>
</html>
Нэг
анхаарах юм бол function дуудагдахаасаа ємнє бvтээгдсэн байх хэрэгтэй. Ихэнх РНР
программистууд HTML хэсгийнхээ дээд талд function-аа бvтээгээд HTML дотроосоо
дууддаг. Дээрх жишээнээс харна уу.
global $variable
гэж юу вэ?
Бид урьдын жишээнvvдээс харахад variable буюу argument-г РНР
function луу шилжvvлэхэд утга нь зєвхєн тухайн function дотроо ажиллаж байсан.
Харин global scope-г ашиглан хэд хэдэн function-ы хооронд нэг variable-г дамжуулан
хэрэглэж болдог. Энэ нь олон дамжлагатай vйлдэл хийх програмыг хялбар болгоно.
function
function_name ($argument) {
global $variable;
}
гэсэн байдлаар
бичигдэнэ. Дээрх жишээн дээрээс харахад ийм байна.
<?
function
calculate_total ($quantity, $discount) {
global $cost;
global $tax;
......
Тэгэхээр
дээрх кодон доторх 2 function 2-уулаа
$cost ба $tax variable-г хэрэглэх учраас ингэж
global scope-г хэрэглэжээ.
function
calculate_total (); < 1-дэх function
function
calculate_payments (); < 2 дах function