รบกวนถามเกี่ยวกับเรื่อง String ใน php
Moderators: mindphp, ผู้ดูแลกระดาน
- hiruma
- PHP Newbie
- Posts: 5
- Joined: 01/01/1970 7:00 am
รบกวนถามเกี่ยวกับเรื่อง String ใน php
คือถ้าผมต้องการสุ่มค่า 3 ตัว (หรือหลายๆตัว)แล้วไปแทนที่ในอีกข้อความหนึ่งจะทำอย่างไรครับ
เช่น
มี String คือ "hello boy my name is boy and love boy"
และค่าของคำสุ่มอาจจะเป็น
girl,jack,jib
ผลลัพธ์ไม่อยากให้มันแก้ boy เป็น girl หรือ jack หรือ jib ทั้งหมดครับ
อยากให้มันสุ่ม
ถ้าใช้ str_replace มันจะแทนค่าหมดเลยครับ
เช่น "hello girl my name is girl and love girl"
ต้องการให้เป็น
"hello girl my name is jib and love jack"
"hello jack my name is jack and love jib"
แบบว่าสุ่มมั่วอ่ะครับในคำที่เรากำหนดให้แทนที่ boy ครับ
ขอบคุณที่ช่วยเหลือครับ
เช่น
มี String คือ "hello boy my name is boy and love boy"
และค่าของคำสุ่มอาจจะเป็น
girl,jack,jib
ผลลัพธ์ไม่อยากให้มันแก้ boy เป็น girl หรือ jack หรือ jib ทั้งหมดครับ
อยากให้มันสุ่ม
ถ้าใช้ str_replace มันจะแทนค่าหมดเลยครับ
เช่น "hello girl my name is girl and love girl"
ต้องการให้เป็น
"hello girl my name is jib and love jack"
"hello jack my name is jack and love jib"
แบบว่าสุ่มมั่วอ่ะครับในคำที่เรากำหนดให้แทนที่ boy ครับ
ขอบคุณที่ช่วยเหลือครับ
- icphysics
- PHP Full Member
- Posts: 38
- Joined: 01/01/1970 7:00 am
- Contact:
ตัดมันออกมาเป็น คำๆ ก่อนซิครับ แล้ว ค่อย วน loop แทนที่ เอา
พูดคุย ปัญหา การหารายได้ ผ่านเน็ต
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com
- icphysics
- PHP Full Member
- Posts: 38
- Joined: 01/01/1970 7:00 am
- Contact:
$a_str = explode(" ","hello boy my name is boy and love boy" );
$a_rep = array('***','yyy',***');
$i = 0;
foreach( $a_str as $str) {
if($a_rep==$str )
// แทนที่ ข้อความ ของคุรแบบ ปกติ
$i++;
}
ปล. เขียน สดๆ นะครับ ยังไม่ได้ debug ของเอาไปรันดูครับ
ท่านใดมีเจ้าของกระทู้ ได้วิธีดีกว่านี้ก็ ลงไว้ดูบ้างนะครับ มีอะไรก็มาแลกเปลี่ยนกันบ้างนะ........
$a_rep = array('***','yyy',***');
$i = 0;
foreach( $a_str as $str) {
if($a_rep==$str )
// แทนที่ ข้อความ ของคุรแบบ ปกติ
$i++;
}
ปล. เขียน สดๆ นะครับ ยังไม่ได้ debug ของเอาไปรันดูครับ
ท่านใดมีเจ้าของกระทู้ ได้วิธีดีกว่านี้ก็ ลงไว้ดูบ้างนะครับ มีอะไรก็มาแลกเปลี่ยนกันบ้างนะ........
พูดคุย ปัญหา การหารายได้ ผ่านเน็ต
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com
- hiruma
- PHP Newbie
- Posts: 5
- Joined: 01/01/1970 7:00 am
ได้แล้วครับขอบพระคุณมากๆครับ
ผมลองแก้ไขดูได้ code ดังนี้
$a_str = explode(" ","hello boy my name is boy and love boy" );
$a_rep = array('girl','jack','jib');
$compare="boy";
$i = 0;
foreach( $a_str as $str) {
if($compare==$str )
{
$num = count($a_rep) - 1;
srand ((double) microtime() * 1000000);
$randomtext = rand(0,$num);
$oneliner = $a_rep[$randomtext];
$str=str_replace("boy", $oneliner, $compare);
}
echo $str." ";
$i++;
}
มั่วจนได้
สุ่ม 3 ครั้งได้ผลลัพธ์ดังใจแล้วครับ
ครั้งที่ 1
hello girl my name is jib and love jack
ครั้งที่ 2
hello jack my name is jack and love girl
ครั้งที่ 3
hello girl my name is jib and love jack
ขอบคุณอีกครั้งที่ช่วยชี้ทางกระจ่างให้ครับผม

ผมลองแก้ไขดูได้ code ดังนี้
$a_str = explode(" ","hello boy my name is boy and love boy" );
$a_rep = array('girl','jack','jib');
$compare="boy";
$i = 0;
foreach( $a_str as $str) {
if($compare==$str )
{
$num = count($a_rep) - 1;
srand ((double) microtime() * 1000000);
$randomtext = rand(0,$num);
$oneliner = $a_rep[$randomtext];
$str=str_replace("boy", $oneliner, $compare);
}
echo $str." ";
$i++;
}
มั่วจนได้
สุ่ม 3 ครั้งได้ผลลัพธ์ดังใจแล้วครับ
ครั้งที่ 1
hello girl my name is jib and love jack
ครั้งที่ 2
hello jack my name is jack and love girl
ครั้งที่ 3
hello girl my name is jib and love jack
ขอบคุณอีกครั้งที่ช่วยชี้ทางกระจ่างให้ครับผม

-
- Similar Topics
- Replies
- Views
- Last post
-
- 0 Replies
- 1588 Views
-
Last post by supattra_su
16/10/2018 5:57 pm
-
- 1 Replies
- 1225 Views
-
Last post by AePongsak
06/08/2018 6:11 pm
-
- 1 Replies
- 1258 Views
-
Last post by makup
09/10/2020 3:09 pm
-
- 1 Replies
- 404 Views
-
Last post by offing
08/01/2015 2:00 pm
-
-
convert List<string> to 1,2,3,4,5
by jataz2 » 25/08/2015 3:55 pm » in Programming - C/C++ & java & Python - 0 Replies
- 471 Views
-
Last post by jataz2
25/08/2015 3:55 pm
-
-
-
มีโค้ดที่ตัด string ตามที่เรากำหนดไว้ไหมครับ
by jamepiyawat » 04/10/2019 2:37 pm » in Programming - PHP - 3 Replies
- 368 Views
-
Last post by Ittichai_chupol
04/10/2019 2:44 pm
-
-
-
มีอาเรย์หลายตัวอยากจะเก็บค่าเป็น String ในตัวแปลเดียวได้ไหม ครับ
by jamepiyawat » 21/06/2019 12:16 pm » in Programming - PHP - 2 Replies
- 450 Views
-
Last post by jamepiyawat
21/06/2019 2:31 pm
-
-
- 2 Replies
- 1004 Views
-
Last post by jataz2
05/07/2019 9:45 am
Who is online
Users browsing this forum: Bing [Bot] and 11 guests