กลุมสาระภาษาไทยกลุ่มสาระคณิตศาสตร์กลุ่มสาระวิทยาศาสตร์กลุ่มสาระศิลป-(ทัศนศิลป์-ดนตรี-นาฏศิลป์)กลุ่มสาระสุขศึกษาและพลศึกษากลุ่มสาระสังคมศึกษาศาสนาและวัฒนธรรมกลุ่มสาระการงานอาชีพและเทคโนโลยีกลุ่มสาระภาษาต่างประเทศกิจกรรมพัฒนาผู้เรียน

กลุมสาระภาษาไทยกลุ่มสาระคณิตศาสตร์กลุ่มสาระวิทยาศาสตร์กลุ่มสาระศิลป-(ทัศนศิลป์-ดนตรี-นาฏศิลป์)กลุ่มสาระสุขศึกษาและพลศึกษากลุ่มสาระสังคมศึกษาศาสนาและวัฒนธรรมกลุ่มสาระการงานอาชีพและเทคโนโลยีกลุ่มสาระภาษาต่างประเทศกิจกรรมพัฒนาผู้เรียน
หน้าแรก » ชุดคำสั่ง ภาษา PHP » บทที่ 11 การใช้ตัวแปรเป็นชื่อของตัวแปร
บทที่ 11 การใช้ตัวแปรเป็นชื่อของตัวแปร
บทที่ 11 การใช้ตัวแปรเป็นชื่อของตัวแปร
ภาษา PHP เปิดโอกาสให้เราสามารถเลือกหรือเปลี่ยนชื่อของตัวแปรได้ ตัวอย่างเช่น 
 
<?

$a = "var1"; 
$$a = 10.3; 
echo "$a ${$a} $$a <BR>\n"; 
echo "$var1 <BR>\n";

?>

จากตัวอย่างข้างบน เรากำหนดให้ตัวแปร $a เก็บสตริงค์ "var1" และจะใช้เป็นชื่อของตัวแปรอีกตัวหนึ่ง โดยทางอ้อม  $$a เป็นการอ้างถึงตัวแปรที่มีชื่อเดียวกับค่าของตัวแปร $a (ในกรณีนี้คือ var1) ดังนั้นถ้าเราเขียนว่า $$a หรือ $var1 ก็หมายถึงตัวแปรตัวเดียวกัน ถ้าต้องการแสดงค่าของ $$a โดยใช้คำสั่ง echo โดยอยู่ในสตริงค์ (ระหว่าง double quotations) เราจะต้องเขียน ${$a} ไม่ใช่ $$a เพราะว่า ถ้าเขียนตามแบบหลัง ตัวแปลคำสั่งจะอ่านค่า $a ก่อนแล้วแทนที่ลงในข้อความ ซึ่งจะได้ $var1แทนที่จะเป็นการอ่านค่าของ $var1

เทคนิคนี้ยังสามารถใช้ได้กับฟังก์ชัน ตัวอย่างเช่น 
 
<? 
function foobar()  { 
    echo "foobar<BR>\n"; 
 }

 function callFunc ($f)  { 
   if ( is_string($f) == true) { 
      $f(); 
   } 
 }

callFunc("foobar");

?>

ตัวอย่างข้างบนอาจจะทำให้เกิดปัญหาถ้าสมมุติว่า $f เป็นชื่อของฟังก์ชันที่ไม่มีอยู่จริง วิธีตรวจสอบคือ การใช้ฟังก์ชัน function_exists() ดังต่อไปนี้ 
 

<?  
function MyFunc() { 
 print ("ok..<BR>\n"); 
}

$f="myFunc"; 
if ( function_exists($f) ) { 
  $f(); 
} 
else { 
  echo "$f does not exist!"; 
}

?>



ตั้งคำถามโดย อาจารย์ วรัญญู  บุตรรินทร์ 
หัวใจของการปฏิรูปการศึกษา คือ การปฏิรูปการเรียนรู้ และหัวใจของการปฏิรูปการเรียนรู้ คือ การปฏิรูปจากการยึดวิชาเป็นตัวตั้ง หรือที่เรียกว่า .ผู้เรียนเป็นสำคัญที่สุด. 
Fanpage เพื่อการศึกษา 
เมื่อ 17 พฤศจิกายน 2555 18:51:51 สอนโดย >> ครูเอ็กซ์
อ่าน 860 ตอบ 0 223.204.59.160