รบกวนถามเกี่ยวกับเรื่อง String ใน php

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: รบกวนถามเกี่ยวกับเรื่อง String ใน php

โดย hiruma » 28/01/2008 5:08 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


ขอบคุณอีกครั้งที่ช่วยชี้ทางกระจ่างให้ครับผม

:lol:

โดย hiruma » 28/01/2008 4:44 am

ยัง งง ครับผมแล้ว ผมจะได้คำตอบเป็นตัวแปรอะไรครับ

ในลูปผมต้องใช้คำสั่งประมาณไหนครับ
ชี้แนะด้วย

โดย hiruma » 28/01/2008 4:28 am

ขอบคุณมากครับเด๋วลอง แปป :lol:

โดย icphysics » 28/01/2008 4:18 am

$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 ของเอาไปรันดูครับ
ท่านใดมีเจ้าของกระทู้ ได้วิธีดีกว่านี้ก็ ลงไว้ดูบ้างนะครับ มีอะไรก็มาแลกเปลี่ยนกันบ้างนะ........

โดย hiruma » 28/01/2008 4:12 am

รบกวน ขอตัวอย่างได้ไหมครับ

โดย icphysics » 28/01/2008 4:00 am

ตัดมันออกมาเป็น คำๆ ก่อนซิครับ แล้ว ค่อย วน loop แทนที่ เอา

รบกวนถามเกี่ยวกับเรื่อง String ใน php

โดย hiruma » 28/01/2008 12:40 am

คือถ้าผมต้องการสุ่มค่า 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 ครับ
ขอบคุณที่ช่วยเหลือครับ

ข้างบน