|
|
|
ดึงค่าที่ไม่ซ้ำกันออกมาแสดงค่าเดียวทำได้อย่างไร PHP เรื่องตัวแปร์ |
|
|
|
|
|
|
|
ตัวอย่าง code นะค่ะ
Code (PHP)
$sumtxt="150,200,300,150,200,300,50,10,150,30,10,50"; //ตัวอย่างข้อมูลอาจไม่คงที่ อาจมี สองตัวสามตัว เช่น $sumtxt="100,100"; บ้าง หรือว่า $sumtxt="100,100,150"; คือแบบ ว่า มันดิ้นได้อ่ะค่ะ
$new_sumtxt="150,200,300,50,10,"; // แบบนี้ค่ะ คือค่าไม่ซ้ำกันให้เอามาแสดง จะมีวิธีการอย่างไรบ้างค่ะ
Guide:> ข้อสังเกต มีตัว , ขั้นระหว่างกลางทุกครั้งของตัวข้อมูล อาจใช้ split แยก ได้นะค่ะ หรือ มีท่านใดแนะนำหรือวิธีการอื่นที่มันง่ายๆกว่านี้ ส่วน ประมาณเขียน code ออกมาให้หน่อยค่ะ
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2012-01-11 20:25:03 |
By :
เจ้าปัญหา |
View :
2072 |
Reply :
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
array_unique ได้หรือเปล่าครับ
Code (PHP)
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
|
|
|
|
|
Date :
2012-01-11 21:26:02 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วจะรู้ได้ไงค่ะว่า $result มีกี่ช่อง ถ้าเราไม่ใช้ แบบ print_r เช่น จะ echo $result[0].$result[2]; แค่นี้พออะค่ะ
|
|
|
|
|
Date :
2012-01-11 21:50:21 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$words="23,23";
$datas = array($words);
$rsdatas = array_unique($datas);
print_r($rsdatas);
ถ้าแบบนี้ตรง code ด้านบน มันจะแสดง Array ( [0] => 23,23 )
Code (PHP)
$datas = array(23,23);
$rsdatas = array_unique($datas);
print_r($rsdatas);
ถ้าแบบนี้ตรง code ด้านบน มันจะแสดง Array ( [0] => 23 )
มันต่างกันตรงแค่ตัวแปร์ แล้วทำไมมันถึงเป็นเช่นนี้ได้ค่ะ
|
ประวัติการแก้ไข 2012-01-11 23:09:21 2012-01-11 23:10:21
|
|
|
|
Date :
2012-01-11 22:56:12 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$words="23,23";
$datas=explode(",",$words);
$rsdatas = array_unique($datas);
print_r($rsdatas);
|
|
|
|
|
Date :
2012-01-11 23:11:41 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วันนี้กระทุ้เยอะมาก ตอบไม่ทันครับ
|
|
|
|
|
Date :
2012-01-11 23:13:13 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5555 พอดีผมคิดระบบที่บริษัทไม่ออกเลยแวะมาดูในบอร์ดเลยช่วยพี่หน่อยวันนี้ ไม่ได้เข้าบอร์ดนาน ^ ^
|
|
|
|
|
Date :
2012-01-11 23:15:57 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วละค่ะ ขาด ตัว explode ขอบคุณมากๆเลยนค่ะ แต่หนูใช้ split ค่ะจำง่ายดี เหมือนกัน ขอบคุณพี่ phpbasic และ mr.win มากนะค่ะ ขอบคุณมากค่ะ
|
|
|
|
|
Date :
2012-01-11 23:16:36 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ค้า อีกนิดนะ ดูตรงนี้หน่อยนะค่ะ
Code (PHP)
foreach($rsdatas as $MixSubject)
{
$newMixSubject.=$MixSubject.",";
}
อยากให้ ถ้ามันเป็นตัวสุดท้ายไม่ต้องใส่ ตัว , ขั้น อ่ะค่ะ ต้องทำอย่างไรค่ะ เพราะว่า foreach มัน ไม่ระบุจำนวนรอบที่แน่นอนอ่ะคะ
เช่น ข้อมูลบางตัวมี 23,23 บ้าง อีกตัวมี 23 จะหมายความว่าจะเช็คได้ไงว่าข้อมูลนี้คือตัวสุดท้ายค่ะ จะทำไม่ให้มี , คะ
|
|
|
|
|
Date :
2012-01-11 23:25:09 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ใช้ implode(",",$datas); มันเข้าไปอีกครั้งครับ
|
|
|
|
|
Date :
2012-01-11 23:29:18 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเข้าไปตรงไหนนะค่ะ นี่คือ CODECode (PHP)
$newMixSubject="";
$words=$arr['NewRoomExam'];
$splword=split(",",$words);
$rsdatas = array_unique($splword);
foreach($rsdatas as $MixSubject)
{
$newMixSubject.=$MixSubject.",";
}
|
|
|
|
|
Date :
2012-01-11 23:31:24 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$newMixSubject="";
$words=$arr['NewRoomExam'];
$splword=split(",",$words);
$rsdatas = array_unique($splword);
$im=implode(",",$rsdatas);
foreach($rsdatas as $MixSubject)
{
$newMixSubject.=$MixSubject.",";
}
foreach เพื่อที่จะดูค่ามันใช้เปล่า
แต่เวลารวมข้อมูลแล้วจะใส่เครื่องหมาย , คั่นเหมือนเดิม ก็สร้างตัวแปรไว้ข้างนอกเลย
แล้วคอยเรียกใช้ส่วน foreach ก็เอาไว้ดูค่าเฉยๆก็พอถ้าไม่ได้เอาไปทำอะไรอ่ะครับ
|
|
|
|
|
Date :
2012-01-11 23:38:59 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 11 เขียนโดย : somparn เมื่อวันที่ 2012-01-11 23:38:59
รายละเอียดของการตอบ ::
ในส่วนของตรงนี้นะค่ะ จะเป็นการนำเอา $newMixSubject เอาไปแสดงผล ด้วยนค่ะ แต่ เมื่อพี่ทำการใส่ Code (PHP)
$newMixSubject="";
$words=$arr['NewRoomExam'];
$splword=split(",",$words);
$rsdatas = array_unique($splword);
$im=implode(",",$rsdatas);
foreach($rsdatas as $MixSubject)
{
$newMixSubject.=$MixSubject.","; //**********************
}
ตรงบรรทัด //*********** นะค่ะ มันจะใส่ตัว , ไปให้หมดเลยค่ะ เช่น ถึงแม้ข้อมูลจะมีตัวเดียว เช่น 23, มันก็แสดงแบบนี้ หรือ 23,25,26, มันก็แสดงแบบนี้ อยากจะตัดตัว , ตัวสุดท้ายออกนะ ค่ะ ไม่รู้จะเีขียน IF ซ้อนได้หรือไม่เพราะว่า หนูไม่รู้ว่า มันจะวนรอปไปถึงเท่าไรอ่ะคะ เลย ทำไม่เป็น ดูให้หน่อยนะค่ะ
|
|
|
|
|
Date :
2012-01-11 23:43:27 |
By :
เจ้าปัญหา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$newMixSubject="";
$words=$arr['NewRoomExam'];
$splword=split(",",$words);
$rsdatas = array_unique($splword);
$im=implode(",",$rsdatas);
foreach($rsdatas as $MixSubject)
{
$newMixSubject.=$MixSubject.","; //**********************
}
echo preg_replace('/\,$/','',$newMixSubject);
|
|
|
|
|
Date :
2012-01-11 23:51:15 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอตัวนอนก่อนนะพรุ่งนี้ต้องเข้าบริษัทแต่เช้าครับ โชคดีครับเจอกันวันใหม่ครับผม
นอนดึกนะเรา เดียวก้ไม่สวยหรอ แพนด้าๆๆๆ
|
|
|
|
|
Date :
2012-01-11 23:57:08 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|