วันนี้มาเขียนโน๊ตไว้ ซักหน่อย เรื่อง
Passing By Reference and Passing By Value และ Global
กับการสร้าง Function ขึ้นใช้งาน
Passing By Value ทุกคนคงใช้กันอยู่ บ่อยๆ แล้ว แต่ถ้าเอา 3 ตัวนี้มารวมกัน แบบผม (แอบโง่)
ก่อนอื่นมาทำความรู้จัก Passing By Reference ให้ดีเสียก่อนนะครับ
มันคือการอ้างถึงตัวแปลด้วยตำแหน่ง (งงกันไปใหญ่) ง่ะๆ มาดู ยกตัวอย่างด้วย โค้ดดีกว่า
โค้ด: เลือกทั้งหมด
<?php
function mindphp(&$var)
{
$var++;
}
$a=5;
mindphp($a);
//ค่า $a คือ 6
?>
โค้ด: เลือกทั้งหมด
<?php
function mindphp()
{
global $a
$a++;
}
$a=5;
mindphp($a);
//ค่า $a คือ 6
?>
ถามว่า แล้วแบบไหนจะยืดหยุ่นกว่า แน่นอนครับ Passing By Reference ยืดหยุ่นกว่า
ทีนี้ ถ้าเรา เอา Passing By Reference and Passing By Value และ Global มาอยู่รวมๆ กัน แบบนี้
จะได้ไหม ?
โค้ด: เลือกทั้งหมด
function a(&$a) {
$a++;
function b() {
global $a;
$a++;
}
}
$a = 0;
a($a);
b();
echo $a;