|
|
|
มีวิธีสลับค่าตัวแปร 2 ตัว ที่เร็วกว่าโค๊ด3บรรทัดมั้ย |
|
|
|
|
|
|
|
เหอร์ ๆๆ งง ว่ะ แล้วจะทำไปเพื่ออะไร
|
|
|
|
|
Date :
6 พ.ค. 2550 09:27:16 |
By :
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ทำเพื่อสลับค่าไง
|
|
|
|
|
Date :
6 พ.ค. 2550 09:59:13 |
By :
OhmzA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง ครับ
|
|
|
|
|
Date :
6 พ.ค. 2550 16:25:40 |
By :
werapan_com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแบบนี้ดูนะ
$temp=$a1
$a1=$b1
$b1=$temp
|
|
|
|
|
Date :
7 พ.ค. 2550 07:54:59 |
By :
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็บอกแล้วว่า 3 บรรทัดสลับค่า ไม่เอาไง
|
|
|
|
|
Date :
7 พ.ค. 2550 12:01:50 |
By :
ohmza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ต้องการคือ คำสั่งที่ทำหน้าที่เหมือน
$temp=$a1
$a1=$b1
$b1=$temp
เพอื่ที่จะให้โค๊ดมันสั้นลง
|
|
|
|
|
Date :
7 พ.ค. 2550 12:08:15 |
By :
ohmza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$a = 1; $b = 2;
$temp=$a; $a=$b; $b=$temp;
ก็จัดมันให้เหลือบบรทัดเดียวไง 555
|
|
|
|
|
Date :
8 พ.ค. 2550 09:03:19 |
By :
BOAT -- KMITNB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XOR ไงเพื่อน
|
|
|
|
|
Date :
2009-06-04 13:24:03 |
By :
xor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
....ขออนุญาติถามเพิ่มเติม..คิดว่าเป็นประโยชน์
จะสลับค่าตัวแปลสองตัวโดยไม่ต้องสร้างตัวแปลตัวที่สาม
และตัวแปรเป็นตัวแปรประเภทสตริงด้วยจะทำยังไงค่ะ?
|
|
|
|
|
Date :
2010-08-03 19:26:44 |
By :
บี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a(1)=1
b(1)=2
สลับเปน
a(2)=b(1)
b(2)=a(1)
เคมะ สลับค่าตัวแปร a กะ b 2 บรรทัด
|
|
|
|
|
Date :
2010-08-03 19:41:52 |
By :
Sek-Artdrinker |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เห็นคุณเสกเล่น ขอเล่นมั่ง
a = 1
b = 1
สลับเป็น
a = b
เหลือบรรทัดเดียว
|
|
|
|
|
Date :
2010-08-03 20:32:40 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เล่นด้วย
$a = 2;
$b = 1;
echo $b!=a ? $a=$b : $b=a;
|
|
|
|
|
Date :
2010-08-03 20:58:35 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เยี่ยมครับ ผมชอบกระทู้นี้
|
|
|
|
|
Date :
2010-08-04 03:11:58 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืม
|
|
|
|
|
Date :
2010-08-04 06:06:13 |
By :
tanes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เคยจำได้ว่ามีวิธีสลับค่าโดยใช้แค่ 2 ตัวแปร แต่จำไม่ได้ว่า 2 บรรทัดรึเปล่า แล้วก็จำวิธีทำไม่ได้ด้วย...
|
|
|
|
|
Date :
2010-08-04 07:40:18 |
By :
cross_knight |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อิอิ
|
|
|
|
|
Date :
2010-08-04 09:24:19 |
By :
jeabz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
function swap(&$a,&$b){ $t = $a; $a = $b; $b = $t; }
$x = 1;
$y = 2;
swap($x,$y);
echo "x=$x, y=$y";
?>
|
|
|
|
|
Date :
2010-08-04 09:58:46 |
By :
2123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ว่าเร็วกว่าโค้ด3บรรทัดนั้นหมายถึงโค้ดน้อยกว่า 3 บรรทัดใช่ปะ ไม่ได้หมายถึงการประมวลผลเร็วกว่า
ผมเคยได้ยินแต่สลับค่าสองตัวแปรโดยไม่ให้สร้างตัวแปรเพิ่ม ลองแบบนี้ได้มะ
Code (PHP)
$a = 1, $b = 2;
list($a, $b) = array($b, $a);
|
ประวัติการแก้ไข 2010-08-04 10:23:42
|
|
|
|
Date :
2010-08-04 10:22:49 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดู function array_reverse()
คิดว่าอาจจะใช่
|
|
|
|
|
Date :
2010-08-04 10:45:56 |
By :
- - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$a = 1, $b = 2;
$a ^= $b ^= $a ^= $b;
|
ประวัติการแก้ไข 2010-08-04 11:11:05 2010-08-04 11:12:31 2010-08-04 11:15:32
|
|
|
|
Date :
2010-08-04 11:10:28 |
By :
champ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|