|
|
|
ตัดสตริงเอาเลขตรงการ ค่ะ คือว่า ถ้าเรามีตัวเลข 1 ชุด เฃ่น 40001-144-08/0002-455 แล้วที่นี้ เลขต่อไปที่ต้องการ |
|
|
|
|
|
|
|
ลองดู function sub_str() ครับ
$strSub = substr("40001-144-08/0002-455",13,4);
จะได้ตำแหน่งที่ต้องการ แล้วนำไปแทนที่ตัวใหม่ได้เลยครับ
|
|
|
|
|
Date :
26 ก.ย. 2551 12:16:02 |
By :
อิอิ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$strSub = substr("40001-144-08/0002-455",13,4);
เสริมจากข้างบน
substr("สตริงที่ต้องการตัด",จุดที่ต้องตัดทิ้งไป,จำนวนที่จะนำมาใช้);
จากชุดสตริงนี้ นับไป 13 จุด จะตกที่ตัว " / " ก็หมายความว่า จากตัวแรกถึงตัวนี้ ให้ตัดทิ้งไป
เลข 4 หมายถึงจำนวนที่จะนำมาใช้ นับจากตัวแรก คือ 0 0 0 2
ถ้าเปลี่ยนจาก 4 เป็นเลข 5 จะได้ 0 0 0 2 -
ปล.สำหรับน้องๆนักศึกษาที่กำลังเรียนอยุ่นะครับ ใครรู้แล้วก็ผ่านไปครับ
|
|
|
|
|
Date :
26 ก.ย. 2551 15:54:40 |
By :
Noss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมทำตัวอย่างมาให้แหละ
ลองเอาไปรันดูนะครับ
<?php
/**
* @author Marosdee
* @copyright 2008
*/
echo "เลขปัจจุบันคือ";
echo "40001-144-08/0002-455";
$number = "40001-144-08/0002-455";
$substr = substr("$number",13,4);
$i = 0;
while ($i <= 10){
$number = "40001-144-08/" . $substr ."-455";
$numberlist .= "<div>เมื่อบวก " . $i . " จะได้ " . $number . "</div>";
$substr++;
$substr = sprintf("%04d",$substr);
$i++;
}
echo $numberlist;
?>
ผลการรัน จะได้แบบนี้
[url=http://image.ohozaa.com/show.php?id=54faab0e867eb08cafdad9cc2b617581][/url]
http://image.ohozaa.com/show.php?id=54faab0e867eb08cafdad9cc2b617581
|
|
|
|
|
Date :
26 ก.ย. 2551 16:27:34 |
By :
danya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้ใช่ค่ะ แต่เวลาตัดออกมาแล้ว เป็น 0002 บวก 1 เป็น 0003
$strSub = substr("40001-144-08/0002-455",13,4); ตัวนี้ ที่ได้คือ 40001-144-08/0002 บวก1 40001-144-08/0003
แต่ปัPหาคือ เวลาเอากลับเข้าไป มันมีแค่ 40001-144-08/0003 เลข 455 มันไม่มาด้วยอ่ะค่ะ ทำงัยคะ
|
|
|
|
|
Date :
26 ก.ย. 2551 16:34:05 |
By :
pook |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
^
^
^
เออ... ไม่ลองทำตามที่ผมบอกเหรอครับ - -
หรือ ไม่เข้าใจกับโค้ดที่ผมเขียน
|
|
|
|
|
Date :
26 ก.ย. 2551 17:21:48 |
By :
danya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ recgura expension , preg_match เอาที่ต้องการ
|
|
|
|
|
Date :
27 ก.ย. 2551 16:32:42 |
By :
แดง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หมายถึงการเกบในฐานข้อมูลใช่มะ
ถ้า ตั้งค่าเป็น int มันก็ไม่มาอ่ะ ลองเปลี่ยนเปน varchar
|
|
|
|
|
Date :
27 ก.ย. 2551 23:59:22 |
By :
Noss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ danya ค่ะ ช่วยดูให้อีกทีนะคะ คือว่า $number = "40001-144-08/0002-455";
เลขที่รัน ตรงนี้อ่ะค่ะ มันไม่เป็นแบบนี้ตลอด จากโค้ด $number = "40001-144-08/" . $substr ."-455"; เหมือน
กับ ฟิกไว้ จริงๆแล้ว มันอาจจะขึ้นต้นกับลงท้ายไม่เหมือนกันค่ะ ช่วยดูให้อีกทีนะคะ ขอบคุณค่ะ
|
|
|
|
|
Date :
30 ก.ย. 2551 13:16:13 |
By :
pook |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนหั่นก็หั่นเป็น 3ท่อนสิครับ เปลี่ยนค่าเสร็จเอาไอ 3 ท่อนที่หั่นออกมาต่อใหม่...
|
|
|
|
|
Date :
2009-01-03 09:55:16 |
By :
navico |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|