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

chapter_24.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 699 bytes

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

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




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ช่วยด้วยค่ะ จะแก้ไขโค๊ดนี้อย่างไรดีค่ะไปต่อไม่ถูกค่ะ โจทย์คือ ให้ นักศึกษา/อาจารย์ => 1/บุคคลทั่วไป => 2/โชลเชี่ยล =>3
โดย supattra_su จ 03 ก.ย. 2018 10:38 pm บอร์ด Programming - PHP
7
118
อ 04 ก.ย. 2018 2:26 pm โดย supattra_su
R - mdsoft_form_invoices_print - ใบอินวอยซ์ (MT24)
โดย prakon จ 03 ก.ย. 2018 2:52 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
13
137
ศ 21 ก.ย. 2018 3:05 pm โดย prakon
สอบถาม PATH URL 2 ภาษาดึงค่า GET 2 ตัว เมื่อกดปุ่มแปลภาษาไม่ได้คะ
โดย pprn จ 03 ก.ย. 2018 10:26 am บอร์ด Programming - PHP
4
87
จ 03 ก.ย. 2018 11:34 am โดย pprn
งานประจำวันที่ 3 กันยายน 2561
โดย tai14 จ 03 ก.ย. 2018 10:11 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
10
จ 03 ก.ย. 2018 7:24 pm โดย tai14
งานประจำวันที่ 3 กันยายน 2561
โดย pprn จ 03 ก.ย. 2018 10:09 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
7
จ 03 ก.ย. 2018 7:28 pm โดย pprn
งานประจำวันที่ 3 กันยายน 2561
โดย prakon จ 03 ก.ย. 2018 10:08 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
19
จ 03 ก.ย. 2018 10:12 am โดย prakon
งานประจำวันที่ 3 กันยายน 2561
โดย muneela จ 03 ก.ย. 2018 10:06 am บอร์ด M068 - มุนีลา หมัดบาซา
1
19
จ 03 ก.ย. 2018 7:33 pm โดย muneela
จะปรับขนาดของ <li></li> ให้มันใหญ่กว่าเดิมต้องทำไงค่ะ
โดย supattra_su อ 02 ก.ย. 2018 7:05 pm บอร์ด HTML CSS
1
93
อ 02 ก.ย. 2018 7:35 pm โดย mindphp
ประโยชน์ของ บริษัท ในการทำงานบน Google Drive
โดย muneela ส 01 ก.ย. 2018 7:19 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
65
ส 01 ก.ย. 2018 7:19 pm โดย muneela
B - ทำรายการเเล้ว save มันกระโดดไปหน้าอื่นๆ
โดย thatsawan ส 01 ก.ย. 2018 7:07 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
4
จ 03 ก.ย. 2018 6:29 pm โดย thatsawan
แนะนำวิธีการทำไฟล์ .py ให้เป็นไฟล .exe โดยใช้ module pyinstaller
โดย tatiya ส 01 ก.ย. 2018 4:09 pm บอร์ด Python Knowledge
0
79
ส 01 ก.ย. 2018 4:09 pm โดย tatiya
วิธีแปลงไฟล์รูปภาพ ให้เป็น string base64
โดย tatiya ส 01 ก.ย. 2018 1:51 pm บอร์ด Python Knowledge
0
72
ส 01 ก.ย. 2018 1:51 pm โดย tatiya
รวมเว็บโปรโมทอบรม
โดย muneela ส 01 ก.ย. 2018 12:15 pm บอร์ด M068 - มุนีลา หมัดบาซา
0
7
ส 01 ก.ย. 2018 12:15 pm โดย muneela
ตัวช่วยในการจัดการสนามกีฬาด้วย Component MD Deal ใน Joomla
โดย Parichat ส 01 ก.ย. 2018 12:00 pm บอร์ด PHP News
0
70
ส 01 ก.ย. 2018 12:00 pm โดย Parichat
งานประจำวันที่ 1 กันยายน 2561
โดย muneela ส 01 ก.ย. 2018 10:48 am บอร์ด M068 - มุนีลา หมัดบาซา
1
17
ส 01 ก.ย. 2018 7:21 pm โดย muneela
งานประจำวันที่ 1 กันยายน 2561
โดย tatiya ส 01 ก.ย. 2018 10:13 am บอร์ด M065 - ตติยะ นาชัย
1
9
ส 01 ก.ย. 2018 9:26 pm โดย tatiya
Q - สอบถามวิธีทำให้เนื้อหาในเทมเพลตไม่ซ้อนกับแถบเมนูด้านบนค่ะ
โดย tai14 ศ 31 ส.ค. 2018 7:12 pm บอร์ด Joomla Dev
1
3
ศ 31 ส.ค. 2018 7:13 pm โดย tai14
Q - สอบถามวิธีดู Content ที่เขียนเสร็จแล้วในเว็บ thailandhotel ค่ะ
โดย tai14 ศ 31 ส.ค. 2018 6:55 pm บอร์ด Joomla Dev
1
5
ศ 31 ส.ค. 2018 7:00 pm โดย Parichat
การใช้ python เก็บข้อมูลจากเว็บ โดยใช้ requests
โดย tatiya ศ 31 ส.ค. 2018 5:00 pm บอร์ด Python Knowledge
0
99
ศ 31 ส.ค. 2018 5:00 pm โดย tatiya
การเข้ารหัสข้อมูลไบต์ ใน python หรือ Base16, Base32, และ Base64
โดย tatiya ศ 31 ส.ค. 2018 4:08 pm บอร์ด Python Knowledge
0
96
ศ 31 ส.ค. 2018 4:08 pm โดย tatiya