ให้เรตสมาชิก: 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
ฮิต
13243
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:18:48

chapter_24.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 699 bytes

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

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




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 4 กุมภาพันธ์ 2562
โดย Sitikoriyoh จ 04 ก.พ. 2019 11:05 am บอร์ด M078 - ซีตีกอรีเย๊าะห์ สุไลมัน
0
11
จ 04 ก.พ. 2019 11:05 am โดย Sitikoriyoh
Work on hand ซีตีกอรีเย๊าะห์ สุไลมัน M078
โดย Sitikoriyoh จ 04 ก.พ. 2019 11:05 am บอร์ด M078 - ซีตีกอรีเย๊าะห์ สุไลมัน
0
3
จ 04 ก.พ. 2019 11:05 am โดย Sitikoriyoh
Work's on hand วิภาพร กะลาสี mo78
โดย wipaporn จ 04 ก.พ. 2019 11:05 am บอร์ด MP10 - วิภาพร กะลาสี
3
26
ศ 15 ก.พ. 2019 6:12 pm โดย Parichat
Work's on Hand อิษยา งามสอาด M077
โดย Four จ 04 ก.พ. 2019 11:05 am บอร์ด M077 - อิษยา งามสอาด
5
44
ศ 15 ก.พ. 2019 6:24 pm โดย Four
Python GUI พลิกภาพจากซ้าย-ขวา
โดย ichimarusoichi จ 04 ก.พ. 2019 11:04 am บอร์ด Programming - C/C++ & java & Python
0
41
จ 04 ก.พ. 2019 11:04 am โดย ichimarusoichi
งานประจำวันที่ 4 กุมภาพันธ์ 2562
โดย Four จ 04 ก.พ. 2019 10:59 am บอร์ด M077 - อิษยา งามสอาด
1
16
จ 04 ก.พ. 2019 11:00 am โดย Four
Python tkinter แปลงภาพให้เป็นสีเทา
โดย ichimarusoichi จ 04 ก.พ. 2019 10:48 am บอร์ด Programming - C/C++ & java & Python
0
41
จ 04 ก.พ. 2019 10:48 am โดย ichimarusoichi
อยากทราบวิธีการ ตรวจสอบว่า ผู้ใช้งาน เป็น Admin หรือไม ใน phpbb
โดย Ittichai_chupol จ 04 ก.พ. 2019 10:18 am บอร์ด Programming - PHP
0
47
จ 04 ก.พ. 2019 10:18 am โดย Ittichai_chupol
อยากทราบวิธีการ ดึงค่า post_id ที่พึงเพิ่มเข้ามาล่าสุด ใน phpbb
โดย Ittichai_chupol ส 02 ก.พ. 2019 2:24 pm บอร์ด Programming - PHP
1
72
ส 02 ก.พ. 2019 3:36 pm โดย mindphp
อยากทราบวิธีการ ดึงค่า topic_id ที่พึงเพิ่มเข้ามาล่าสุด ใน phpbb
โดย Ittichai_chupol ส 02 ก.พ. 2019 2:22 pm บอร์ด Programming - PHP
2
93
ส 02 ก.พ. 2019 5:19 pm โดย mindphp
เหตุผลของการทำงาน
โดย จันนุสรณ์ ดีแก่ ศ 01 ก.พ. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
57
ศ 01 ก.พ. 2019 5:50 pm โดย จันนุสรณ์ ดีแก่
Python tkinter openimg and saveimg
โดย ichimarusoichi ศ 01 ก.พ. 2019 5:41 pm บอร์ด Programming - C/C++ & java & Python
0
54
ศ 01 ก.พ. 2019 5:41 pm โดย ichimarusoichi
Python tkinter สร้างปุ่มเมนูเพื่อเปิดไฟล์ภาพ
โดย ichimarusoichi ศ 01 ก.พ. 2019 4:54 pm บอร์ด Programming - C/C++ & java & Python
0
74
ศ 01 ก.พ. 2019 4:54 pm โดย ichimarusoichi
Python tkinter เปิดไฟล์ภาพ-หมุนภาพ-กลับสู่ภาพเดิม
โดย ichimarusoichi ศ 01 ก.พ. 2019 4:12 pm บอร์ด Programming - C/C++ & java & Python
0
58
ศ 01 ก.พ. 2019 4:12 pm โดย ichimarusoichi
วิธีการสร้าง Extension สำหรับสร้างนามแฝง ใน phpbb
โดย Ittichai_chupol ศ 01 ก.พ. 2019 4:03 pm บอร์ด Programming - PHP
0
51
ศ 01 ก.พ. 2019 4:03 pm โดย Ittichai_chupol
อย่ากทราบวิธีการ ตรวจสอบว่า ผู้ที่ใช้งานเป้น Admin หรือไม ใน phpbb
โดย Ittichai_chupol ศ 01 ก.พ. 2019 2:22 pm บอร์ด Programming - PHP
0
43
ศ 01 ก.พ. 2019 2:22 pm โดย Ittichai_chupol
อยากทราบวิธีการสร้าง code ให้มีจำนวนตาม เลขที่กรอก ใน phpbb
โดย Ittichai_chupol ศ 01 ก.พ. 2019 2:15 pm บอร์ด Programming - PHP
0
44
ศ 01 ก.พ. 2019 2:15 pm โดย Ittichai_chupol
ทำความรู้จักกับรูปแบบวันที่ พร้อมตัวอย่างสำหรับการตั้งค่า สำหรับผู้ใช้งานทั่วไป
โดย จันนุสรณ์ ดีแก่ ศ 01 ก.พ. 2019 12:04 pm บอร์ด phpBB user Guide Knowledge
0
44
ศ 01 ก.พ. 2019 12:04 pm โดย จันนุสรณ์ ดีแก่
google sheet จะเขียนโค๊ดสร้างปุ่มสั่งพิมพ์ยังไงครับ
โดย KruOhm ศ 01 ก.พ. 2019 11:31 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
59
ศ 01 ก.พ. 2019 11:31 am โดย KruOhm
[Extension phpBB3.1.1] Magic OGP links: thumbnails and descriptions แสดงภาพขนาดย่อพร้อมคำอธิบาย
โดย จันนุสรณ์ ดีแก่ ศ 01 ก.พ. 2019 10:33 am บอร์ด phpBB 3.1 Extension Review
0
43
ศ 01 ก.พ. 2019 10:33 am โดย จันนุสรณ์ ดีแก่