|
|
|
มี function อะไรให้รันเลขแบบ 01,02 ... 09 ใส่ 0 ให้เลขหลักหน่วยนะครับ |
|
|
|
|
|
|
|
ไม่ยากครับ
มี function อะไรให้รันเลขแบบ 01,02
อย่าง
for ($i=0;$i<=20;$i++) {
if($si<9){
echo '0'.$i;
}else{
echo $i
}
}
ได้
1
2
3
..
20
|
|
|
|
|
Date :
2011-01-13 15:18:03 |
By :
SPNL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอากันง่ายๆ อย่างนี้เลยเหรอครับ ขอบคุณครับ
|
|
|
|
|
Date :
2011-01-13 15:28:44 |
By :
smob00472 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเลขสองหลักก็ไม่มีปัญหาอะไร ถ้ามองยาว ๆ บ้างตัวอย่างเช่น
ถ้าผมต้องการรหัส 5 หลัก โดยเป็น zero fill แสดงว่าต้องทำ
if($num <= 9){
echo "0000".$num;
}
else if($num <=99){
echo "000".$num;
}
else if($num <=999){
echo "00".$num;
}
else ......
ไปเรื่อย ๆ มันก็ดูไม่ค่อยจบนะครับ
ขอเสนออีก 1 ทางเลือก ที่มันดูดีเป็นระบบกว่า มันจะ return เป็น String format ครับ
echo sprintf("%04d", 20);
// result 0020
echo sprintf("%04d", 1020);
// result 1020
คราวนี้เราจะหาหลักสิบหลักก็เป็นของเราแล้วครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2011-01-14 01:46:27 |
By :
LindyFralin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
foreach (range('1', '20') as $num) {
echo sprintf("%02d",$num)."<br>";
}
?>
|
|
|
|
|
Date :
2011-01-14 17:24:25 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกวิธีนึงนะครับ ซึ่งเป็นอะไรที่ทำได้หลากหลายกว่า
str_pad(ค่า, จำนวนหลัก, "ตัวอะไรที่ต้องการใส่เพิ่มเข้าไป", สั่งให้เพิ่มเข้าไปข้างหน้าหรือข้างหลัง);
เช่น
str_pad(20, 6, "0", STR_PAD_LEFT);
ค่าจริงๆ คือ 20 สั่งให้เติม 0 เข้าไปทางด้าน "ซ้าย" ให้ครบ 6 หลัก ผลที่ได้คือ 000020
str_pad(100, 10, "A", STR_PAD_RIGHT);
ค่าจริงๆ คือ 100 สั่งให้เติม A เข้าไปทางด้าน "ขวา" ให้ครบ 10 หลัก ผลที่ได้คือ 100AAAAAAA
|
|
|
|
|
Date :
2011-01-15 16:53:17 |
By :
Pong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|