ให้เรตสมาชิก: 3 / 5

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

 บทที่ 11 การใช้ตัวแปร เป็นชื่อของตัวแปร

ภาษา PHP เปิดโอกาสให้เราสามารถเลือกหรือเปลี่ยนชื่อของตัวแปรได้ ตัวอย่างเช่น
 

ไฟล์ตัวอย่าง :: code_ex1.php
<?php
$a = "var1"; 
$$a = 10.3; 
echo "$a ${$a} $$a <BR> "; 
echo "$var1 <BR> ";
?>

 

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

เทคนิคนี้ยังสามารถใช้ได้กับฟังก์ชัน ตัวอย่างเช่น
 

ไฟล์ตัวอย่าง :: code_ex2.php
<?php
function foobar()  {
    echo "foobar<BR> ";
 }
function callFunc ($f)  { 
   if ( is_string($f) == true) { 
      $f(); 
   } 
 }
callFunc("foobar");
?>

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

ไฟล์ตัวอย่าง :: code_ex2.php
<?php
function MyFunc() {
print ("ok..<BR> ");
}
$f="myFunc"; 
if ( function_exists($f) ) { 
  $f(); 

else { 
  echo "$f does not exist!"; 
}
?>

ชื่อ
บทที่ 11 การใช้ตัวแปร เป็นชื่อของตัวแปร
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
12842
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:29:51

chapter_11.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 938 bytes

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-04-10 16:16:07




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - ใบเสร็จรับเงิน
โดย mindphp พฤ 24 พฤษภาคม 2018 2:38 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
พฤ 24 พฤษภาคม 2018 2:38 am โดย mindphp
วิธีติดตั้ง Netbeans8.2 บน Ubuntu
โดย AePongsak พ 23 พฤษภาคม 2018 4:48 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
7
พ 23 พฤษภาคม 2018 4:48 pm โดย AePongsak
สอบถามการติดตั้ง LAMP Server บน Ubuntu 18.04 ด้วยครับ
โดย AePongsak พ 23 พฤษภาคม 2018 3:54 pm บอร์ด SQL - Database
2
18
พ 23 พฤษภาคม 2018 6:52 pm โดย AePongsak
งานประจำวันที่ 23 พฤษภาคม 2561
โดย Rujikon พ 23 พฤษภาคม 2018 2:38 pm บอร์ด M060 - นายรุจิกร พงษ์พิละ
1
4
พ 23 พฤษภาคม 2018 7:01 pm โดย Rujikon
อัพเดทด่วน Joomla เวอร์ชั่น 3.8.8 ปรับปรุงเรื่องความปลอดภัยและแก้ไขข้อผิดพลาดต่างๆ
โดย tsukasaz พ 23 พฤษภาคม 2018 11:40 am บอร์ด PHP News
0
16
พ 23 พฤษภาคม 2018 11:40 am โดย tsukasaz
งานประจำวันที่ 23 พฤษภาคม 2561
โดย rangsan พ 23 พฤษภาคม 2018 9:56 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
1
4
พ 23 พฤษภาคม 2018 7:09 pm โดย rangsan
[ปัญหา] การอัพไฟล์ขึ้น Git ไมสามารถอัพได้
โดย rangsan พ 23 พฤษภาคม 2018 9:53 am บอร์ด Mindphp Task (ทดลองงาน)
0
1
พ 23 พฤษภาคม 2018 9:53 am โดย rangsan
งานประจำวันที่ 23 พฤษภาคม 2561
โดย Parichat พ 23 พฤษภาคม 2018 9:27 am บอร์ด M061 - ปาริชาติ รัตโณภาส
1
3
พ 23 พฤษภาคม 2018 7:33 pm โดย Parichat
B - Admin + Financial Manager ไม่เห็นเมนูตั้งค่า
โดย thatsawan อ 22 พฤษภาคม 2018 11:30 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
3
8
พ 23 พฤษภาคม 2018 4:21 pm โดย thatsawan
B - Print inv ที่อยู่ ไม่ขึ้น ชื่อสาขา เป็นอังกฤษ
โดย mindphp อ 22 พฤษภาคม 2018 9:07 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
2
6
อ 22 พฤษภาคม 2018 9:14 pm โดย mindphp
ขอสอบถามเกี่ยวกับ Google sheet ครับ
โดย toonytoony2004 อ 22 พฤษภาคม 2018 8:07 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
อ 22 พฤษภาคม 2018 8:07 pm โดย toonytoony2004
วิธีการทำ Menu Button บน Toolbar เพื่อใช้ในการตั้งค่าต่าง ๆ
โดย rangsan อ 22 พฤษภาคม 2018 7:03 pm บอร์ด Mobile Application Developing- Android, iOS
0
9
อ 22 พฤษภาคม 2018 7:03 pm โดย rangsan
วิธีการในการสร้าง Magic Button Android Studio
โดย rangsan อ 22 พฤษภาคม 2018 6:37 pm บอร์ด Mobile Application Developing- Android, iOS
0
7
อ 22 พฤษภาคม 2018 6:37 pm โดย rangsan
งานประจำวันที่ 22 พฤษภาคม 2561
โดย Rujikon อ 22 พฤษภาคม 2018 10:37 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
1
7
อ 22 พฤษภาคม 2018 7:32 pm โดย Rujikon
งานประจำวันที่ 22 พฤษภาคม 2561
โดย rangsan อ 22 พฤษภาคม 2018 9:47 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
1
11
อ 22 พฤษภาคม 2018 7:11 pm โดย rangsan
งานประจำวันที่ 22 พฤษภาคม 2561
โดย Parichat อ 22 พฤษภาคม 2018 9:36 am บอร์ด M061 - ปาริชาติ รัตโณภาส
1
5
อ 22 พฤษภาคม 2018 7:18 pm โดย Parichat
โน๊ตช่วยจำของ M061
โดย Parichat จ 21 พฤษภาคม 2018 11:50 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
1
1
จ 21 พฤษภาคม 2018 11:52 pm โดย Parichat
งานประจำวันที่ 21 พฤษภาคม 2561
โดย Parichat จ 21 พฤษภาคม 2018 6:53 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
3
8
จ 21 พฤษภาคม 2018 11:57 pm โดย Parichat
Re - R ทำปิดบัญเขียนด้วย IDE Test เป็น webdriver
โดย rangsan จ 21 พฤษภาคม 2018 7:02 pm บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
5
จ 21 พฤษภาคม 2018 7:02 pm โดย rangsan
แนะนำฟีดเจอการทำงานของระบบ OpenERP
โดย Rujikon จ 21 พฤษภาคม 2018 7:01 pm บอร์ด M060 - นายรุจิกร พงษ์พิละ
0
2
จ 21 พฤษภาคม 2018 7:01 pm โดย Rujikon