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

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

 บทที่ 24 เขียนฟังก์ชั่น สลับค่าของตัวแปรสองตัว swap()

ถ้าเราต้องการสลับค่าระหว่างสองตัวแปร เราก็เขียนฟังก์ชัน swap() ขึ้นมา
 
ไฟล์ตัวอย่าง :: code_ex1.php
<?php
function swap(&$a, &$b) {
  $t = $a;
  $a = $b;
  $b = $t;
}
$x=10;
$y=3;
echo "x=",$x,",y=",$y," ";
swap($x,$y);
echo "x=",$x,",y=",$y," ";
?>

ตัวอย่างข้างบน ก็แสดงให้เห็นวิธีการใช้ call-by-reference อีกเช่นกัน

มีข้อสังเกตอยู่ว่า การใช้ call-by-reference ไม่จำเป็นต้องทำตอนนิยามฟังก์ชันเท่านั้น แต่อาจจะทำตอนผ่านตัวแปรเมื่อเรียกใช้งานจริง ตัวอย่างเช่น
 

ไฟล์ตัวอย่าง :: code_ex2.php
<?php
function swap($a, $b) {
$t = $a;
$a = $b;
$b = $t;
}
$x=10;
$y=3;
echo "x=",$x,",y=",$y," ";
swap($x, $y);
echo "x=",$x,",y=",$y," ";
?>

จากตัวอย่างนี้ เราแก้ไขฟังก์ชัน swap() ทำให้ไม่สนับสนุน call-by-reference ดังนั้นเพื่อจะใช้งานได้อย่างถูกต้อง  เราก็จะต้องใช้ reference ของตัวแปรเป็นอาร์กิวเมนต์ของฟังก์ชัน ในเวลาที่เรียกใช้ ซึ่งก็คือ swap(&$x,&$y)  ถ้าเราไม่ทำอย่างนี้ เช่น เขียนว่า swap($x,$y) ก็จะไม่มีการสลับค่าของตัวแปรทั้งสอง เนื่องจากว่า เมื่ออยู่ภายในฟังก์ชัน swap() แล้ว เราไม่สามารถเปลี่ยนแปลงค่าของตัวแปรเหล่านั้นได้ คืออ่านได้ แต่ไม่สามารถกำหนดค่าใหม่ได้

ชื่อ
บทที่ 24 การสลับค่าของตัวแปรสองตัว swap()
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
9023
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:18:48

chapter_24.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 699 bytes

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

วันที่อัพโหลด 2014-04-21 14:47:14




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
B - com_M2OpenERP Migration ติดตั้งได้แต่ไม่สามารถตั้งค่าได้ใน Joomla 3.x
3
Parichat 22 มิ.ย. 2018 5:55 pm
Q - หน้ารายละเอียดสินค้าให้แสดงราคาเป็น USD ด้วยและTHB ด้วย
13
Parichat 22 มิ.ย. 2018 2:20 pm
B - หน้าข้อมูลสินค้า แสดงพิ้นหลังยาวกว่าเว็บต้นฉบับ
11
tsukasaz 22 มิ.ย. 2018 1:20 pm
B - หน้าข้อมูลสินค้า ต้องแสดงราคาเป็น USD ด้วย ตามเว็บต้นฉบับ
8
tsukasaz 22 มิ.ย. 2018 1:17 pm
B - หน้าข้อมูลสินค้า เมื่อเลือกสีสินค้า รูปแบบของราคาจากตัวหนาเปลี่ยนเป็นตัวปกติ
5
tsukasaz 22 มิ.ย. 2018 1:09 pm
B - หน้า How to Buy ข้อความเกินขอบพื้นหลัง
4
tsukasaz 22 มิ.ย. 2018 12:07 pm
B - หน้าดาวน์โหลดแสดงผลไม่เหมือนของเดิม ข้อความเกินขอบพื้นหลัง
4
tsukasaz 22 มิ.ย. 2018 12:04 pm
Q - จัดรูปภาพให้อยู่ตรงกลางโดยใช้คำสั่ง Center แต่รูปภาพไม่อยู่กึ่งกลางตามคำสั่ง
13
Parichat 22 มิ.ย. 2018 12:02 pm
B - หน้ารายการสินค้า ปุ่ม Detail กับ Feature ไม่เปลี่ยนตอน Mouse Over
7
tsukasaz 22 มิ.ย. 2018 11:50 am
Q - ทำให้รูปภาพตกลงในขนาดของหน้าจอมือถือกรณีใช้ grid-container
19
Parichat 22 มิ.ย. 2018 11:47 am
Q - แบ่งหน้าสินค้าในกรณีที่เปิดในมือถือ
14
Parichat 22 มิ.ย. 2018 11:41 am
B - การตั้งค่า Access Right สิทธ์แต่ละ User เข้าใช้งานไม่ได้
10
nuattawoot 22 มิ.ย. 2018 11:07 am
งานประจำวันที่ 22 มิถุนายน 2561
3
taemmynatchapon 22 มิ.ย. 2018 10:27 am
การดู URL ใน Joomla
10
Parichat 22 มิ.ย. 2018 10:24 am
B - หน้ารูปภาพสินค้าปรับทศนิยม 2 ตำแหน่ง
9
tsukasaz 22 มิ.ย. 2018 10:14 am
B - หน้ารูปภาพสินค้าบนมือถือ รูปภาพแสดงเลยจอ
12
tsukasaz 22 มิ.ย. 2018 10:06 am
B - หน้าข้อมูลสินค้าบนมือถือ รูปภาพแสดงเลยจอ
9
tsukasaz 22 มิ.ย. 2018 10:02 am
B - หน้ารายการสินค้าบนมือถือ สินค้าแสดงเลยพื้นหลัง
8
tsukasaz 22 มิ.ย. 2018 9:58 am
B - หน้ารายการสินค้าบนมือถือ ตำแหน่งของสีไม่ถูกต้อง
8
tsukasaz 22 มิ.ย. 2018 9:55 am
งานประจำวันที่ 22 มิถุนายน 2561
3
Parichat 22 มิ.ย. 2018 8:52 am