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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
hiruma
PHP Newbie
PHP Newbie
Posts: 5
Joined: 01/01/1970 7:00 am

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

Post by hiruma »

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

User avatar
icphysics
PHP Full Member
PHP Full Member
Posts: 38
Joined: 01/01/1970 7:00 am
Contact:

Post by icphysics »

ตัดมันออกมาเป็น คำๆ ก่อนซิครับ แล้ว ค่อย วน loop แทนที่ เอา
พูดคุย ปัญหา การหารายได้ ผ่านเน็ต
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com

User avatar
hiruma
PHP Newbie
PHP Newbie
Posts: 5
Joined: 01/01/1970 7:00 am

Post by hiruma »

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

User avatar
icphysics
PHP Full Member
PHP Full Member
Posts: 38
Joined: 01/01/1970 7:00 am
Contact:

Post by icphysics »

$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 ของเอาไปรันดูครับ
ท่านใดมีเจ้าของกระทู้ ได้วิธีดีกว่านี้ก็ ลงไว้ดูบ้างนะครับ มีอะไรก็มาแลกเปลี่ยนกันบ้างนะ........
พูดคุย ปัญหา การหารายได้ ผ่านเน็ต
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com

User avatar
hiruma
PHP Newbie
PHP Newbie
Posts: 5
Joined: 01/01/1970 7:00 am

Post by hiruma »

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

User avatar
hiruma
PHP Newbie
PHP Newbie
Posts: 5
Joined: 01/01/1970 7:00 am

Post by hiruma »

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

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

User avatar
hiruma
PHP Newbie
PHP Newbie
Posts: 5
Joined: 01/01/1970 7:00 am

Post by hiruma »

ได้แล้วครับขอบพระคุณมากๆครับ
ผมลองแก้ไขดูได้ 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:

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 9 guests