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

chapter_24.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 699 bytes

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

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




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R- mdsoft_siri_reciept_print (โมดูลปริ้น ใบเสร็จ)
โดย tatiya ส 19 ม.ค. 2019 8:49 pm บอร์ด สิริกิตติรัตน์ - Developer
1
1
ส 19 ม.ค. 2019 8:55 pm โดย tatiya
วิธีการทำ process bar ใน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 8:16 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
ส 19 ม.ค. 2019 8:16 pm โดย Chidchanok
Q-ไม่สามารถเข้าใช้งาน Open ERP ค่ะ
โดย Chidchanok ส 19 ม.ค. 2019 7:10 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ส 19 ม.ค. 2019 7:10 pm โดย Chidchanok
Q-สอบถามค่ะ ไม่สามารถกด validate ใบแจ้งหนี้ได้
โดย Chidchanok ส 19 ม.ค. 2019 6:44 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ส 19 ม.ค. 2019 6:44 pm โดย Chidchanok
การทำแผนภูมิใน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
ส 19 ม.ค. 2019 5:53 pm โดย Chidchanok
การเข้าใช้งาน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 5:22 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
6
ส 19 ม.ค. 2019 5:22 pm โดย Chidchanok
การใช้งาน Google Docs ใน Google Apps For Education
โดย ณัฐกฤตา บุญญะฤทธิ์ ส 19 ม.ค. 2019 4:05 pm บอร์ด Share Knowledge
0
15
ส 19 ม.ค. 2019 4:05 pm โดย ณัฐกฤตา บุญญะฤทธิ์
วิธีการสร้าง เมนูใน user ด้วย Extensio phpbb
โดย Ittichai_chupol ส 19 ม.ค. 2019 3:29 pm บอร์ด PHP Knowledge
0
5
ส 19 ม.ค. 2019 3:29 pm โดย Ittichai_chupol
อยากทราบวิธีการดึงข้อมูล รายการกระทู้ที่โปรด ใน phpbb
โดย Ittichai_chupol ส 19 ม.ค. 2019 1:50 pm บอร์ด Programming - PHP
0
7
ส 19 ม.ค. 2019 1:50 pm โดย Ittichai_chupol
ข้อแตกต่างระหว่าง Google Sheet กับ Excel
โดย Chidchanok ส 19 ม.ค. 2019 1:47 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
5
ส 19 ม.ค. 2019 1:47 pm โดย Chidchanok
วิธีการเพิ่มสมาชิก มาเป็น ผู้ดูแลระบบ โดย Admin ใน phpbb
โดย Ittichai_chupol ส 19 ม.ค. 2019 1:46 pm บอร์ด PHP Knowledge
0
3
ส 19 ม.ค. 2019 1:46 pm โดย Ittichai_chupol
การตั้งค่า เปิด - ปิด ส่วนการลงทะเบียนสมัครสมาชิก ใน เว็บบอร์ด phpbb
โดย Ittichai_chupol ส 19 ม.ค. 2019 11:22 am บอร์ด phpBB user Guide Knowledge
0
14
ส 19 ม.ค. 2019 11:22 am โดย Ittichai_chupol
รวบรวมวิธีการใช้งาน Google Sheet
โดย Chidchanok ส 19 ม.ค. 2019 11:11 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
12
ส 19 ม.ค. 2019 11:11 am โดย Chidchanok
สอบถามวิธีการดึง File ที่ลบใน Google doc กลับ
โดย ณัฐกฤตา บุญญะฤทธิ์ ส 19 ม.ค. 2019 10:19 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
16
ส 19 ม.ค. 2019 10:48 am โดย Ittichai_chupol
การจัดทำใบสั่งซื้อในโปรแกรม Open ERP
โดย Chidchanok ศ 18 ม.ค. 2019 6:21 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
18
ศ 18 ม.ค. 2019 6:21 pm โดย Chidchanok
การรับใบเสนอราคาในโปรแกรม OpenERP
โดย Chidchanok ศ 18 ม.ค. 2019 5:24 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
16
ศ 18 ม.ค. 2019 5:24 pm โดย Chidchanok
การส่งสินค้าในโปรแกรม Open ERP
โดย Chidchanok ศ 18 ม.ค. 2019 4:49 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
14
ศ 18 ม.ค. 2019 4:49 pm โดย Chidchanok
อยากทราบวิธีการแบ่งข้อมูล ออกเป็นชุดๆ ใน phpbb
โดย Ittichai_chupol ศ 18 ม.ค. 2019 3:40 pm บอร์ด Programming - PHP
0
13
ศ 18 ม.ค. 2019 3:40 pm โดย Ittichai_chupol
การเพิ่มข้อมูลผู้จำหน่ายใน โปรแกรม Open ERP
โดย Chidchanok ศ 18 ม.ค. 2019 3:33 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
19
ศ 18 ม.ค. 2019 3:33 pm โดย Chidchanok
Q-กดปรื้นส์ใบเสนอราคาแต่ไม่สามารถดูได้
โดย Chidchanok ศ 18 ม.ค. 2019 2:57 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
ศ 18 ม.ค. 2019 2:57 pm โดย Chidchanok