| 
5. ฟังก์ชัน (Functions) 
- มีหลักพัน รู้จักแค่หลักร้อย แต่ใช้แค่หลักสิบ 
- ไม่จำเป็นจำได้ทุกตัว แต่รู้ว่ามีให้ใช้
  และเลือกใช้ได้อย่างเหมาะสม .. ก็พอ 
- Function แบบสร้างขึ้นใช้เอง แบ่งเป็น internal และ
  external มีความสำคัญมาก | 
| 
ex.501 zz501.php | 
แสดงค่า Configuration 
<? 
phpinfo(); 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
ตาราง แสดงข้อมูลมากมาย 
# ดูว่าสนับสนุน GD เพื่อเขียนภาพ
  Graphic หรือไม่ 
# ดู DOCUMENT_ROOT ใน
  Environment เป็นต้น | 
| 
ex.502 zz502.php | 
คำสั่งตัดคำด้วยคำสั่ง substr 
<? 
$a = "abcde"; 
echo substr($a,0,2) , "<br>"; 
echo substr($a,2,2) , "<br>"; 
echo substr($a,2) , "<br>"; 
echo substr($a,-2) , "<br>"; 
echo strlen("abc") , "<br>"; 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
ab 
cd 
cde 
de 
3 
# ควรหาคำตอบ ว่าคำสั่ง และผลลัพธ์ เป็นเช่นนั้น
  เพราะอะไร | 
| 
ex.503 zz503.php | 
ฟังก์ชันเกี่ยวกับเวลา และการสุ่ม 
<? 
srand(microtime()*1000000); 
echo rand(1,10)."<br>"; 
echo microtime()."<br>"; 
echo microtime() + microtime()."<br>"; 
echo time()."<br>"; 
echo date("d/m/Y H:i:s")."<br>"; 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
2 
0.04055200 1146796189 
0.081168 
1146796189 
05/05/2006 09:29:49 
# แสดงฟังก์ชันเกี่ยวกับเวลา
  และค่าที่ได้จากการสุ่ม 
# rand มาจากคำว่า random แปลว่าสุ่ม
  ได้ค่าระหว่าง 1 ถึง 10 | 
| 
ex.504 zz504.php | 
ฟังก์ชัน require และ
  include แบบ html 
<body> 
<? require("zz502.php"); ?> 
<hr> 
<? include("zz503.php"); ?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
# ถ้าพบ error ในแฟ้ม
  x.php จะเป็น Fatal Error 
# ถ้าพบ error ในแฟ้ม
  y.php จะเป็น Warning 
# ตามทฤษฎี เขาว่าอย่างนั้น | 
| 
ex.505 zz505.php zz505a.php zz505b.php | 
ฟังก์ชัน require และ
  include แบบเต็ม 
<? 
$a=1; 
$b="one"; 
?> 
<? 
# zz505a.php 
require("zz505.php"); 
echo $a,$b; 
?> 
<? 
# zz505b.php 
include("zz505.php"); 
echo $a,$b; 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
1one 
# ตัวอย่างนี้มี 3 แฟ้ม
  คือ setvar.php use1.php use2.php 
# โปรแกรมกำหนดค่าให้โปรแกรมอื่นเรียกใช้ คือ setvar.php 
# โปรแกรมเรียกใช้แฟ้มกำหนดค่าคือ use1.php
  และ
  use2.php | 
| 
ex.506 zz506.php | 
ฟังก์ชันตรวจสอบตัวแปร 
<form action=zz506.php method=post> 
<input name=pass> 
<input type=submit> 
</form> 
<? if (!isset($_POST["pass"])) exit; ?> 
Test Test Test | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
# ถ้ามีตัวแปร pass ส่งเข้ามา
  ก็จะพิมพ์ Test 3 คำ | 
| 
ex.507 zz507.php | 
สร้างฟังก์ชันแบบ internal แบบธรรมดา 
<? 
a(); 
echo "b"; 
a(); 
?> 
bb 
<? 
function a() { 
  echo
  "a"; 
  echo
  "x"; 
} 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
axbaxbb 
# แสดงการประกาศฟังก์ชันครั้งเดียว แต่เรียกใช้ 2
  ครั้ง | 
| 
ex.508 zz508.php | 
สร้างฟังก์ชันแบบ internal แบบรับค่า 
<? 
a(5,6); 
function a($b1,$b2) { 
  echo "$b1 +
  $b2 = ", $b1 + $b2; 
} 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
5 + 6 = 11 
# ส่งค่าให้กับฟังก์ชันใช้งาน | 
| 
ex.509 zz509.php | 
สร้างฟังก์ชันแบบ internal แบบรับ
  และคืนค่า 
<? 
echo a(5,6); 
echo a(5,6); 
function a($b1,$b2) { 
  $t = $b1 + $b2; 
  return $t; 
} 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
1111 
# แสดงการรับปกติ 
# คืนค่าให้ฟังก์ชันด้วย return | 
| 
ex.510 zz510.php | 
สร้างฟังก์ชันแบบ internal แบบคืนค่า 
<? 
$b1 = 5; 
$b2 = 6; 
echo a(),b(); 
function a() { 
  global $b1,$b2; 
  $t = $b1 + $b2; 
  return $t; 
} 
function b() { 
  global $b1,$b2; 
  $t = $b1 + $b2; 
  return $t; 
} 
?> | 
ตัวอย่างผลลัพธ์ หรืออธิบาย 
1111 
# ส่งผ่านตัวแปรแบบ global เข้าไปในฟังก์ชัน 
# ต้องประกาศแบบ global ในทุกฟังก์ชัน 
# ประกาศข้างนอก ก็ยังไม่สามารถใช้ใน function | 
