ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

บทที่ 27 การใช้ตัวแปรแบบ global ภายในฟังก์ชัน

บางครั้งเราไม่ต้องการที่จะผ่านตัวแปรเป็นอาร์กิวเมนต์ของฟังก์ชัน เพื่อนำไปใช้ภายในฟังก์ชันเหล่านั้น ก็จะทำได้โดยการแจ้งใช้ตัวแปรที่มีชื่อเหมือนตัวแปรภายนอกที่เราต้องการใช้ ให้เป็น global หรือใช้ผ่านตัวแปรที่เป็นอาร์เรย์ของ PHP ที่มีชื่อว่า $GLOBALS ดังตัวอย่างต่อไปนี้
 
<?php
$a = 10;
$b = 20;
function getMin ( ) {
 global $a, $b;
if ($a < $b)
  return $a;
 else
  return $b;
}
function getMin2 () {  
if ($GLOBALS["a"] < $GLOBAL["b"])
  return $GLOBALS["a"];
 else
  return $GLOBALS["b"];
}
echo getMin()."<BR> ";
echo getMin2()."<BR> ";
?>

ในกรณีนี้เราต้องการจะใช้ตัวแปร $a และ $b ซึ่งอยู่นอกฟังก์ชัน getMin() เพื่อเช็คดูว่า ค่าของตัวแปรใดมีค่าน้อยกว่ากัน ถ้าเราไม่แจ้งใช้ global $a, $b; ตามตัวอย่างแล้ว $a และ $b จะกลายเป็นตัวแปรภายในแม้ว่าจะชื่อเหมือนกันตัวแปรภายนอกที่มีอยู่แล้วก็ตาม ทำให้ได้ผลการทำงานไม่ถูกต้องตามที่ต้องการ

ฟังก์ชัน getMin() อีกรูปแบบหนึ่ง โดยไม่ใช้ตัวแปรแบบ global ภายในฟังก์ชัน และใช้วิธีผ่านค่าแทน
 

<?php 
$a = 10;
$b = 20;
function getMin ($a, $b) {
  if ($a < $b)
      return $a;
  else
      return $b;
}
echo getMin($a, $b)."<BR> ";
?>



กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
แก้ปัญหา หน้านี้โหลด Google Maps ไม่ถูกต้อง
โดย mindphp พ 12 ธ.ค. 2018 4:00 am บอร์ด HTML CSS
1
2
พ 12 ธ.ค. 2018 4:09 am โดย mindphp
Q - ;วิธีการ ปิด หน้าต่าง pop up หลังจาก กด อัพโหลดเเล้ว
โดย Ittichai_chupol อ 11 ธ.ค. 2018 7:15 pm บอร์ด Programming - PHP
0
6
อ 11 ธ.ค. 2018 7:15 pm โดย Ittichai_chupol
วิธีการเพิ่ม BBcode
โดย จันนุสรณ์ ดีแก่ อ 11 ธ.ค. 2018 5:10 pm บอร์ด phpBB 3.1 Extension Review
0
9
อ 11 ธ.ค. 2018 5:10 pm โดย จันนุสรณ์ ดีแก่
วิธีใช้บันทึกข้อความร่าง
โดย จันนุสรณ์ ดีแก่ อ 11 ธ.ค. 2018 2:01 pm บอร์ด phpBB user Guide Knowledge
0
12
อ 11 ธ.ค. 2018 2:01 pm โดย จันนุสรณ์ ดีแก่
ฺBBcode ที่น่าสนใจ
โดย Ittichai_chupol อ 11 ธ.ค. 2018 11:40 am บอร์ด phpBB user Guide Knowledge
1
16
อ 11 ธ.ค. 2018 12:23 pm โดย mindphp
เมื่อเครียดจนอยากร้องเพลง
โดย จันนุสรณ์ ดีแก่ อ 11 ธ.ค. 2018 10:20 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
อ 11 ธ.ค. 2018 10:20 am โดย จันนุสรณ์ ดีแก่
วิธีการสร้าง pop-up เพื่อ drag and drop multi image upload บน phpbb
โดย Ittichai_chupol ส 08 ธ.ค. 2018 4:30 pm บอร์ด Programming - PHP
0
35
ส 08 ธ.ค. 2018 4:30 pm โดย Ittichai_chupol
วิธีติดตั้งโปรแกรม Foxit Reader บนระบบปฏิบัติการ Ubuntu 16.04 LTS
โดย tatiya ส 08 ธ.ค. 2018 11:11 am บอร์ด Linux - Web Server
0
23
ส 08 ธ.ค. 2018 11:11 am โดย tatiya
อยากหมดหนี้ฟังทางนี้ ขอโชค ขอลาภกับพระเจ้าตากสิน
โดย Anonymous ศ 07 ธ.ค. 2018 4:40 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
30
ศ 07 ธ.ค. 2018 4:40 pm โดย บุคคลทั่วไป
Extension คืออะไร
โดย จันนุสรณ์ ดีแก่ ศ 07 ธ.ค. 2018 2:58 pm บอร์ด phpBB 3.1 Extension Review
0
26
ศ 07 ธ.ค. 2018 2:58 pm โดย จันนุสรณ์ ดีแก่
วิธีตั้งกระทู้ในเว็บบอร์ด phpBB โพสข้อความ รูปภาพ อัพโหลด ใช้ BBcode
โดย จันนุสรณ์ ดีแก่ ศ 07 ธ.ค. 2018 2:53 pm บอร์ด phpBB user Guide Knowledge
0
40
ศ 07 ธ.ค. 2018 2:53 pm โดย จันนุสรณ์ ดีแก่
Q - Event phpbb ที่แสดงผลตำแหน่ง หัวข้อกระทู้
โดย Ittichai_chupol ศ 07 ธ.ค. 2018 10:43 am บอร์ด Programming - PHP
3
23
ศ 07 ธ.ค. 2018 11:18 am โดย mindphp
ว่าด้วยเรื่องเว็บไซต์
โดย จันนุสรณ์ ดีแก่ ศ 07 ธ.ค. 2018 10:27 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
ศ 07 ธ.ค. 2018 10:27 am โดย จันนุสรณ์ ดีแก่
ราศีใด ระวังไฟไหม้บ้าน มีวิญญาณตามติด
โดย Anonymous พฤ 06 ธ.ค. 2018 8:41 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
31
พฤ 06 ธ.ค. 2018 8:41 pm โดย บุคคลทั่วไป
การส่งข้อความ และการเปิดอ่านข้อความ
โดย จันนุสรณ์ ดีแก่ พฤ 06 ธ.ค. 2018 2:27 pm บอร์ด phpBB user Guide Knowledge
0
31
พฤ 06 ธ.ค. 2018 2:27 pm โดย จันนุสรณ์ ดีแก่
HOW TO ออกจากเกมส์
โดย จันนุสรณ์ ดีแก่ พฤ 06 ธ.ค. 2018 11:32 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
30
พฤ 06 ธ.ค. 2018 11:32 am โดย จันนุสรณ์ ดีแก่
Q - ตรวจสอบ ไฟล์รูปภาพในกระทู้ phpbb
โดย Ittichai_chupol พฤ 06 ธ.ค. 2018 11:04 am บอร์ด Programming - PHP
1
33
พฤ 06 ธ.ค. 2018 5:06 pm โดย mindphp
สอบถามเกี่ยวกับการตรวจสอบขนาดของ File หลังจากเพิ่มฟอร์มหน่อยครับ
โดย tomsmile05 พฤ 06 ธ.ค. 2018 10:40 am บอร์ด Programming - PHP
1
30
พฤ 06 ธ.ค. 2018 11:19 am โดย tsukasaz
สาเหตุที่นอนไม่หลับ เป็นเพราะแบบนี้หรือเปล่า เช็คก่อนเกิดอันตราย!
โดย gotoblack พฤ 06 ธ.ค. 2018 8:44 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
25
พฤ 06 ธ.ค. 2018 8:44 am โดย gotoblack
ฟังก์ชั่นอีเมลล์ใช้ไม่ได้บน Joomla 4 alpha 3 มีวิธีแก้อย่างไรบ้างค่ะ
โดย pprn พ 05 ธ.ค. 2018 4:32 pm บอร์ด Joomla Development
0
28
พ 05 ธ.ค. 2018 4:32 pm โดย pprn