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

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

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

ภาพประจำตัวสมาชิก
hiruma
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย 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 ครับ
ขอบคุณที่ช่วยเหลือครับ
ภาพประจำตัวสมาชิก
icphysics
PHP Full Member
PHP Full Member
โพสต์: 38
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย icphysics »

ตัดมันออกมาเป็น คำๆ ก่อนซิครับ แล้ว ค่อย วน loop แทนที่ เอา
พูดคุย ปัญหา การหารายได้ ผ่านเน็ต
http://ptc.icphysics.com/webboard/SFM/index.php
คอบาสเก็ตบอลเจอกันที่
http://www.baslover.com
ภาพประจำตัวสมาชิก
hiruma
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย hiruma »

รบกวน ขอตัวอย่างได้ไหมครับ
ภาพประจำตัวสมาชิก
icphysics
PHP Full Member
PHP Full Member
โพสต์: 38
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย 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
ภาพประจำตัวสมาชิก
hiruma
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย hiruma »

ขอบคุณมากครับเด๋วลอง แปป :lol:
ภาพประจำตัวสมาชิก
hiruma
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย hiruma »

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

ในลูปผมต้องใช้คำสั่งประมาณไหนครับ
ชี้แนะด้วย
ภาพประจำตัวสมาชิก
hiruma
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย 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:
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 113