ตัวแปร Global คือ เป็นตัวแปรที่ประกาศไว้ในโปรแกรมหลัก มีขอบเขต กว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
เรามาดูการใช้งานกัน เริ่มแรกผมจะตั้งตัวแปร ธรรมดาขึ้นมา แล้วสั่งปริ้น ธรรมดานะครับ
ผลลัพท์ คือ
M.D.Soft
ต่อไปผมจะสร้างฟังก์ชั่นขึ้นมา แล้วเรียกใช้ตัวแปร global m ที่เราสร้างขึ้นนะครับ
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
def fn():
print(m)
fn() #เรียกใช้งาน fn
ผลลัพท์ คือ
M.D.Soft
ี่จะเห็นได้ว่าเราสามารถเรียกใช้ตัวแปร m ได้ ต่อไปผมจะสร้างฟังก์ชั่นแล้วสร้างตัวแปรที่ชื่อเดืยวกันมาดูกันว่าโปรแกรมจะเป็นยังไงครับ
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
def fn2():
m = "mindphp"
print(m)
fn2() #เรียกใช้งาน fn2
print(m)
ผลลัพท์ คือ
mindphp
M.D.Soft
ถึงตอนนี้เราคงทราบแล้วว่า ตัวแปร m (ตัวแปร m ที่อยู่ข้างในฟังก์ชั่น จะเป็นตัวแปรแบบ local variable คือ เป็นตัวแปรที่ประกาศในฟังก์ชั่น มีขอบเขตแคบใช้งานได้เฉพาะภายในฟังก์ชั่นนั้นๆ) ที่อยู่ในฟังก์ชั่น จะเป็นตัวแปรคนละตัว กับ ตัวแปร global m ที่อยู่ข้างนอก
ต่อไปผมจะลองใช้ตัวแปร global ในฟังก์ชั่น และลองเปลี่ยนดูนะครับ code จะคล้ายๆ fc2 แต่ จะเพิ่ม คำว่า global ขึ้นมา
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
def fn3():
global m
m = "minphp"
print("ค่าตัวแปรถายในฟังก์ชั่น :",m)
fn3()
print("ค่าค่าตัวแปรภายนอกฟังก์ชั่น :",m)
ผลลัพท์ คือ
ค่าตัวแปรถายในฟังก์ชั่น : minphp
ค่าค่าตัวแปรภายนอกฟังก์ชั่น : minphp
จะเห็นได้ว่า ถ้าเราใช้คำสั่ง global ภายในฟังก์ชั่น แล้วตัวแปร m ที่เราสร้างมาใหม่ในฟังชั่น จะเป็นตัวเดียวกับตัวที่อยู่ข้างนอก และถ้าเราเพิ่มค่าไปในตัวแปร m ที่สร้างขึ้นให้ฟงัก์ชั่น ตัวแปร m ที่อยู่ข้างนอกก็จะเปลี่ยนค่าไปด้วย
ตัวแปร Global คือ เป็นตัวแปรที่ประกาศไว้ในโปรแกรมหลัก มีขอบเขต กว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
เรามาดูการใช้งานกัน เริ่มแรกผมจะตั้งตัวแปร ธรรมดาขึ้นมา แล้วสั่งปริ้น ธรรมดานะครับ
[code]
m = "M.D.Soft"
print(m)[/code]
ผลลัพท์ คือ
M.D.Soft
ต่อไปผมจะสร้างฟังก์ชั่นขึ้นมา แล้วเรียกใช้ตัวแปร global m ที่เราสร้างขึ้นนะครับ
[code]m = "M.D.Soft"
def fn():
print(m)
fn() #เรียกใช้งาน fn
[/code]
ผลลัพท์ คือ
M.D.Soft
ี่จะเห็นได้ว่าเราสามารถเรียกใช้ตัวแปร m ได้ ต่อไปผมจะสร้างฟังก์ชั่นแล้วสร้างตัวแปรที่ชื่อเดืยวกันมาดูกันว่าโปรแกรมจะเป็นยังไงครับ
[code]m = "M.D.Soft"
def fn2():
m = "mindphp"
print(m)
fn2() #เรียกใช้งาน fn2
print(m)
[/code]
ผลลัพท์ คือ
mindphp
M.D.Soft
ถึงตอนนี้เราคงทราบแล้วว่า ตัวแปร m (ตัวแปร m ที่อยู่ข้างในฟังก์ชั่น จะเป็นตัวแปรแบบ local variable คือ เป็นตัวแปรที่ประกาศในฟังก์ชั่น มีขอบเขตแคบใช้งานได้เฉพาะภายในฟังก์ชั่นนั้นๆ) ที่อยู่ในฟังก์ชั่น จะเป็นตัวแปรคนละตัว กับ ตัวแปร global m ที่อยู่ข้างนอก
ต่อไปผมจะลองใช้ตัวแปร global ในฟังก์ชั่น และลองเปลี่ยนดูนะครับ code จะคล้ายๆ fc2 แต่ จะเพิ่ม คำว่า global ขึ้นมา
[code]m = "M.D.Soft"
def fn3():
global m
m = "minphp"
print("ค่าตัวแปรถายในฟังก์ชั่น :",m)
fn3()
print("ค่าค่าตัวแปรภายนอกฟังก์ชั่น :",m)
[/code]
ผลลัพท์ คือ
ค่าตัวแปรถายในฟังก์ชั่น : minphp
ค่าค่าตัวแปรภายนอกฟังก์ชั่น : minphp
จะเห็นได้ว่า ถ้าเราใช้คำสั่ง global ภายในฟังก์ชั่น แล้วตัวแปร m ที่เราสร้างมาใหม่ในฟังชั่น จะเป็นตัวเดียวกับตัวที่อยู่ข้างนอก และถ้าเราเพิ่มค่าไปในตัวแปร m ที่สร้างขึ้นให้ฟงัก์ชั่น ตัวแปร m ที่อยู่ข้างนอกก็จะเปลี่ยนค่าไปด้วย