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

chapter_24.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 699 bytes

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

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




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - mod_mzc_latest_products ปรับ module ให้ใช้งานใน Mooziicart
โดย pprn อ 20 พ.ย. 2018 7:19 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
6
อ 20 พ.ย. 2018 7:19 pm โดย pprn
Built-in functions (4)ฟังก์ชัน Strpos
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 6:40 pm บอร์ด PHP Knowledge
0
6
อ 20 พ.ย. 2018 6:40 pm โดย จันนุสรณ์ ดีแก่
Data Time Function เบื้องต้น
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 6:26 pm บอร์ด PHP Knowledge
0
8
อ 20 พ.ย. 2018 6:26 pm โดย จันนุสรณ์ ดีแก่
การโหลด geckodriver
โดย ธวัชชัย แสนหาญ อ 20 พ.ย. 2018 5:32 pm บอร์ด Share Knowledge
0
15
อ 20 พ.ย. 2018 5:32 pm โดย ธวัชชัย แสนหาญ
การติดตั้ง selenium บน PyCharm
โดย ธวัชชัย แสนหาญ อ 20 พ.ย. 2018 4:54 pm บอร์ด Python Knowledge
0
14
อ 20 พ.ย. 2018 4:54 pm โดย ธวัชชัย แสนหาญ
Math Function พร้อมตัวอย่างเบื้องต้น
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 4:50 pm บอร์ด PHP Knowledge
0
8
อ 20 พ.ย. 2018 4:50 pm โดย จันนุสรณ์ ดีแก่
VDO Training RTP
โดย tai14 อ 20 พ.ย. 2018 3:34 pm บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
0
6
อ 20 พ.ย. 2018 3:34 pm โดย tai14
วิธีเชื่อ App ที่เขี่ยนเข้ากับ data
โดย zinxinsin อ 20 พ.ย. 2018 3:11 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
5
อ 20 พ.ย. 2018 3:11 pm โดย zinxinsin
วิธีเชื่อ App ที่เขี่ยนเข้ากับ data
โดย zinxinsin อ 20 พ.ย. 2018 3:06 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
4
อ 20 พ.ย. 2018 3:06 pm โดย zinxinsin
ติดตั้ง Component Mooziicart แล้วเข้าหน้าเว็บไม่ได้ค่ะ
โดย tai14 อ 20 พ.ย. 2018 2:21 pm บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
0
2
อ 20 พ.ย. 2018 2:21 pm โดย tai14
Built-in functions (3)ฟังชัน Substr และ ฟังก์ชั่น Strlen
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 2:09 pm บอร์ด PHP Knowledge
1
13
อ 20 พ.ย. 2018 3:17 pm โดย daday0807
Q - วิธีการ แก้ไข้ erroe จากการเขียน phpbb เพื่อแบ่งหน้า ให้ส่วน Admin
โดย Ittichai_chupol อ 20 พ.ย. 2018 2:08 pm บอร์ด Programming - PHP
1
14
อ 20 พ.ย. 2018 7:01 pm โดย thatsawan
Built-in functions (2)ฟังชันNumber_format() และ ฟังก์ชั่น Str_repeat()
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 1:34 pm บอร์ด PHP Knowledge
0
7
อ 20 พ.ย. 2018 1:34 pm โดย จันนุสรณ์ ดีแก่
Built-in functions (1)ฟังชัน explode() และ ฟังก์ชั่น Implode()
โดย จันนุสรณ์ ดีแก่ อ 20 พ.ย. 2018 11:23 am บอร์ด PHP Knowledge
0
10
อ 20 พ.ย. 2018 11:23 am โดย จันนุสรณ์ ดีแก่
แนะนำวิธี Start VM ด้วย Comamnd Line ใน
โดย mindphp อ 20 พ.ย. 2018 11:17 am บอร์ด Linux - Web Server
0
9
อ 20 พ.ย. 2018 11:17 am โดย mindphp
งานประจำวันที่ 20 พฤษจิกายน 2561
โดย tatiya อ 20 พ.ย. 2018 10:18 am บอร์ด M065 - ตติยะ นาชัย
1
5
อ 20 พ.ย. 2018 8:34 pm โดย tatiya
งานประจำวันที่ 20 พฤศจิกายน 2561
โดย pprn อ 20 พ.ย. 2018 10:15 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
4
อ 20 พ.ย. 2018 7:35 pm โดย pprn
งานประจำวันที่ 20 พฤศจิกายน 2561
โดย tai14 อ 20 พ.ย. 2018 10:12 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
2
7
อ 20 พ.ย. 2018 7:59 pm โดย mindphp
งานประจำวันที่ 20 พฤศจิกายน 2561
โดย nice_13 อ 20 พ.ย. 2018 9:52 am บอร์ด M071 - พิชญ์สินี คงจร
0
2
อ 20 พ.ย. 2018 9:52 am โดย nice_13
งานประจำวันที่ 20 พฤศจิกายน 2561
โดย nice_13 อ 20 พ.ย. 2018 9:52 am บอร์ด M071 - พิชญ์สินี คงจร
1
3
อ 20 พ.ย. 2018 7:51 pm โดย nice_13