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

บทที่ 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> ";
?>



กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เพิ่มประสิทธิภาพเว็บไซต์ ด้วยหน้าเว็บพอดีหน้าจอหลายขนาด รองรับหลายอุปกรณ์
โดย [email protected] พ 07 มิ.ย. 2023 5:32 pm บอร์ด Mindphp Videoman
0
13
พ 07 มิ.ย. 2023 5:32 pm โดย [email protected]
10 โอกาสทางธุรกิจที่ดูไบ ในปี 2023 สำหรับคนที่สนใจ
โดย articleheros พ 07 มิ.ย. 2023 4:21 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
พ 07 มิ.ย. 2023 4:21 pm โดย articleheros
ฺB - หน้าภาษาไทยขึ้น Error
โดย Thanapoom1514 พ 07 มิ.ย. 2023 12:59 pm บอร์ด วัฒนาทูล คอมเมิร์ซ - Tester
1
5
พ 07 มิ.ย. 2023 1:01 pm โดย Thanapoom1514
สอบถามวิธีการใช้งาน grid ของ html
โดย fonfonn พ 07 มิ.ย. 2023 10:12 am บอร์ด HTML CSS
0
37
พ 07 มิ.ย. 2023 10:12 am โดย fonfonn
สอบถาม core ที่เกี่ยวข้องกับการสมัครสมาชิก ของ phpBB และ ไฟล์ email ส่ง
โดย flook พ 07 มิ.ย. 2023 9:36 am บอร์ด Programming - PHP
1
47
พ 07 มิ.ย. 2023 10:06 am โดย eange08
รับเต็มจำนวนตามความคุ้มครองและเงื่อนไข ประกันชีวิต ลดหย่อนภาษี
โดย Ellache อ 06 มิ.ย. 2023 11:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
อ 06 มิ.ย. 2023 11:08 pm โดย Ellache
สอบถามวิธีการเปลี่ยนรูปไอคอนเว็บใน Joomla 3 ยังไงครับ
โดย Thanapoom1514 อ 06 มิ.ย. 2023 1:56 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
24
อ 06 มิ.ย. 2023 2:07 pm โดย tsukasaz
เขียน custom page ส่งเมลด้วย messenger ผ่าน SMTP หรือ ฟังก์ชั่นเมลตามแบบ phpBB
โดย mindphp ส 03 มิ.ย. 2023 2:22 am บอร์ด PHP Knowledge
2
64
ส 03 มิ.ย. 2023 2:33 am โดย mindphp