ให้เรตสมาชิก: 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> ";
?>



กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Q - ในเรื่องการคืนของถ้าคืนแบบไม่ตรงอินวอยได้ไหมค่ะ [2019-04][011]
โดย Parichat ศ 19 เม.ย. 2019 7:32 pm บอร์ด Diageo - Web Ordering - Developer
0
2
ศ 19 เม.ย. 2019 7:32 pm โดย Parichat
B - Urgent!!! ข้อมูลในเว็ปหาย [2019-04][010]
โดย Parichat ศ 19 เม.ย. 2019 6:39 pm บอร์ด Diageo - Web Ordering - Tester
2
6
ศ 19 เม.ย. 2019 7:36 pm โดย Parichat
การบันทึกบัญชีค่าใช้จ่าย
โดย สริญญา สมสา ศ 19 เม.ย. 2019 6:05 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
6
ศ 19 เม.ย. 2019 6:05 pm โดย สริญญา สมสา
การบันทึกบัญชีรายได้
โดย สริญญา สมสา ศ 19 เม.ย. 2019 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
ศ 19 เม.ย. 2019 5:53 pm โดย สริญญา สมสา
การบันทึกบัญชีหนี้สิน
โดย สริญญา สมสา ศ 19 เม.ย. 2019 5:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
6
ศ 19 เม.ย. 2019 5:38 pm โดย สริญญา สมสา
สอนดราฟตัวการ์ตูนด้วย illustrator
โดย napharat079 ศ 19 เม.ย. 2019 5:24 pm บอร์ด Graphic design
0
9
ศ 19 เม.ย. 2019 5:24 pm โดย napharat079
การบันทึกบัญชีสินทรัพย์
โดย สริญญา สมสา ศ 19 เม.ย. 2019 4:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
ศ 19 เม.ย. 2019 4:51 pm โดย สริญญา สมสา
บริษัท สยามเวลเนสกรุ๊ป จำกัด (มหาชน) รับสมัคร ตำแหน่ง Software Instructor and Support
โดย Anonymous ศ 19 เม.ย. 2019 4:14 pm บอร์ด Programming - PHP
0
5
ศ 19 เม.ย. 2019 4:14 pm โดย บุคคลทั่วไป
การบันทึกบัญชีการเพิ่มหนี้
โดย สริญญา สมสา ศ 19 เม.ย. 2019 3:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
ศ 19 เม.ย. 2019 3:51 pm โดย สริญญา สมสา
การบันทึกบัญชีการลดหนี้
โดย สริญญา สมสา ศ 19 เม.ย. 2019 1:57 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
6
ศ 19 เม.ย. 2019 1:57 pm โดย สริญญา สมสา
งานประจำวันที่ 19 เมษายน 2562
โดย poumtip ศ 19 เม.ย. 2019 9:26 am บอร์ด M080 - สุทธาทิพย์ อู่นาค
1
9
ศ 19 เม.ย. 2019 7:17 pm โดย poumtip
งานประจำวันที่ 19 เมษายน 2562
โดย napharat079 ศ 19 เม.ย. 2019 9:08 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
2
10
ศ 19 เม.ย. 2019 7:07 pm โดย napharat079
สอนออกแบบปุ่ม (ฺButton) อย่างง่าย
โดย napharat079 พฤ 18 เม.ย. 2019 6:21 pm บอร์ด Graphic design
0
47
พฤ 18 เม.ย. 2019 6:21 pm โดย napharat079
ภ.ง.ด 1 คือ
โดย สริญญา สมสา พฤ 18 เม.ย. 2019 4:58 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
12
พฤ 18 เม.ย. 2019 4:58 pm โดย สริญญา สมสา
เงินกู้ยืมระยะสั้น
โดย สริญญา สมสา พฤ 18 เม.ย. 2019 2:56 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
13
พฤ 18 เม.ย. 2019 2:56 pm โดย สริญญา สมสา
สอบถามวิธีเช็ค Domain หน่อยค่ะ
โดย Parichat พฤ 18 เม.ย. 2019 2:01 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
17
พฤ 18 เม.ย. 2019 2:01 pm โดย Parichat
Adobe Spark คืออะไร
โดย napharat079 พฤ 18 เม.ย. 2019 12:19 pm บอร์ด Graphic design
0
35
พฤ 18 เม.ย. 2019 12:19 pm โดย napharat079
การเดินทางจากเสนานิคม 1 - กรมสรรพากรเขตจตุจักร
โดย สริญญา สมสา พฤ 18 เม.ย. 2019 12:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
34
พฤ 18 เม.ย. 2019 12:00 pm โดย สริญญา สมสา
งานระจำวันที่ 18 เมษายน 2562
โดย poumtip พฤ 18 เม.ย. 2019 10:04 am บอร์ด M080 - สุทธาทิพย์ อู่นาค
1
11
พฤ 18 เม.ย. 2019 7:21 pm โดย poumtip
งานประจำวันที่ 18 เมษายน 2562
โดย napharat079 พฤ 18 เม.ย. 2019 9:52 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
2
11
พฤ 18 เม.ย. 2019 11:32 pm โดย thatsawan