ตัวแปรระดับ
global
ถ้าต้องการนำตัวแปรระดับ
global มาใช้ภายในฟังก์ชันต้องประกาศด้วยคีย์เวิร์ด
global ก่อนประโยคคำสั่งที่ใช้ตัวแปรนั้น ตัวอย่าง ฟังก์ชัน show_value()
ใช้ $newline จากภายนอกฟังก์ชัน
global
$newline;
ตัวแปรสถิตย์
การประกาศตัวแปรสถิตย์ใช้
คีย์เวิร์ด static เมื่อมีการเรียกใช้ฟังก์ชัน
โปรแกรมจะกำหนดค่าตัวแปรตามที่ระบุเพียงครั้งเดียว
ถ้าเรียกซ้ำอย่างต่อเนื่องค่านี้จะเปลี่ยนแปลงตามการคำนวณ
<?php
function increment()
{
{
static $increase = 5 ;
$increase++;
echo $increase."<br/>\n";
$increase++;
echo $increase."<br/>\n";
}
$end = 5 ;
for ($i = 1 ; $i < $end; $i++)
increment();
increment();
?>
ผลลัพธ์
6
7
8
9
6
7
8
9
ค่าของตัวแปรสถิตย์ได้รับการตั้งทุกครั้งเมื่อเรียกใช้ในครั้งต่อไป
การส่งออกค่าจากฟังก์ชัน
การส่งค่าออกจากฟังก์ชันใช้คีย์เวิร์ด
return เช่นเดียวกับการออกจากฟังก์ชันได้
ถ้าไม่มีการระบุส่งออกฟังก์ชันจะส่งค่า NULL
ตัวอย่าง
ฟังก์ชัน get_larger () สาธิตการส่งออกค่า
<?
function get_larger($x=NULL,
$y=NULL)
{
{
if (!isset($x) || !isset($y))
return " ไม่มีการส่งค่า" ;
return " ไม่มีการส่งค่า" ;
if ($x > $y)
return $x;
else if ($x < $y)
return $y;
else
return " ค่าเท่ากัน" ;
return $x;
else if ($x < $y)
return $y;
else
return " ค่าเท่ากัน" ;
}
$sends = array();
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
foreach ($sends as $send)
{
{
echo "x =
".$send['x']." y = ".$send['y']." : ค่า -
> "
.get_larger($send['x'], $send['y']);
echo "<br/>\n";
.get_larger($send['x'], $send['y']);
echo "<br/>\n";
}
?>
ผลลัพธ์
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน
ฟังก์ชันที่ทำงานอาจเดียว
แต่ไม่จำเป็นต้องส่งออกค่า มักจะส่งออก TRUE
หรือ FALSE เพื่อระบุความสำเร็จหรือล้มเหลว
ค่า TRUE หรือ FALSE สามารถได้รับการแสดงแทนด้วย
1 หรือ 0
ไม่มีความคิดเห็น:
แสดงความคิดเห็น