Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > เรื่อง array ครับ - เราจะตัดข้อมูล ที่ซ้ำกันใน array ได้ยังไงครับ เช่น



 

เรื่อง array ครับ - เราจะตัดข้อมูล ที่ซ้ำกันใน array ได้ยังไงครับ เช่น

 



Topic : 025762



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์




เราจะตัดข้อมูล ที่ซ้ำกันใน array ได้ยังไงครับ เช่น

Code
$a[0]=1; $a[1]=1; $a[2]=3; $a[3]=2; $a[4]=3; $a[5]=3; $a[6]=3; $a[7]=7; $a[8]=7; $a[9]=1; $a[10]=1;


จะทำให้เลือกแค่

Code
$a[0]=1; $a[1]=3; $a[2]=2; $a[3]=7;




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-03-24 16:27:53 By : นักเรียน View : 22127 Reply : 23
 

 

No. 1



โพสกระทู้ ( 48 )
บทความ ( 0 )



สถานะออฟไลน์


ปู่เสื่อรอฟัง *=* เก็บข้อมูลเผื่อวันหน้า






Date : 2009-03-24 16:45:08 By : torrider
 


 

No. 2



โพสกระทู้ ( 12 )
บทความ ( 0 )



สถานะออฟไลน์


if >1 ครับ
Date : 2009-03-24 16:58:00 By : kojangza
 

 

No. 3



โพสกระทู้ ( 148 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

สวัสดีครับ

จิงๆ แล้วโปรแกรมจะเขียนยากหรือว่า ง่ายอยู่ที่เราออกแบบ ฐานข้อมูลนะครับ อันนี้
มาจากประสบการจริงเพราะว่า บ้างอย่างเราสามารถ Query ขึ้นมาได้เลยจะง่ายกว่านะครับ

ok เข้าเรื่องนะครับ ผมก็ได้เขียน code กับ โจทย์ข้อนี้ออกมาแบบนี้นะครับ

Code (PHP)
<?
$arr_txt = array("1","1","2","2","3","3","4","5");
$arr_txt_new = array("");
$number = 0;
foreach($arr_txt as $value){
	echo $value;
	echo "<br>";
	if(check($arr_txt_new,$value)){
		$arr_txt_new[$number] = $value;
		$number ++;
	}
}
echo "********************************************<br>";
foreach($arr_txt_new as $value){
	echo $value;
	echo "<br>";
}

function check($array_txt,$value){
   foreach($array_txt as $value_txt){
   		if($value_txt == $value){ 
			return false;
		}
   }
   return true;
}
?>


ลองใช้งานดูถ้าสงสัยหรือว่า งง ก็สอบถามนะครับผมเขียนสดๆ แต่ว่าผมเอาไป run หละ ใช้งานได้ครับ
Date : 2009-03-24 17:09:19 By : dr.website
 


 

No. 4



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


$a[0]=1;
$a[1]=1;
$a[2]=3;
$a[3]=2;
$a[4]=3;
$a[5]=3;
$a[6]=3;
$a[7]=7;
$a[8]=7;
$a[9]=1;
$a[10]=1;

$b= array_unique ($a);
print_r($b);

แต่ ผม เอาข้อมูลออกมาใช่ไม่ได้
แต่ดูได้ โดยใช้ print_r(b);

ใครมีวิธีดึงข้อมูลออกมาใช้ ช่วยที่ ครับ
Date : 2009-03-24 17:15:55 By : นักเรียน
 


 

No. 5



โพสกระทู้ ( 148 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

แบบนี้ครับ
เหอะๆ เก่งจังเลย
หาจนได้เนอะ

Code (PHP)
<?
$a[0]=1;
$a[1]=1;
$a[2]=3;
$a[3]=2;
$a[4]=3;
$a[5]=3;
$a[6]=3;
$a[7]=7;
$a[8]=7;
$a[9]=1;
$a[10]=1;

$b= array_unique ($a);
foreach($b as $value){
	echo $value;
	echo "<br>";
}
print_r($b);
?>

Date : 2009-03-24 17:20:38 By : dr.website
 


 

No. 6



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


$a[0]=1;
$a[1]=1;
$a[2]=3;
$a[3]=2;
$a[4]=3;
$a[5]=3;
$a[6]=3;
$a[7]=7;
$a[8]=7;
$a[9]=1;
$a[10]=1;

$b= array_unique ($a);
$j= count($b);

ถ้าผมต้องการนำค่าที่ได้ออกไปเก็บ ในตัวแปล ที่เป็น array ธรรมดา
คือตัวแปลใช้ for ในการนวลูปได้อะครับต้องทำยังไง เช่น

for ($i=0;i<=$j;$i++){
echo $b[$i];
.
.
.

}

อะไรประมาณนี้ นะ ครับ พอจะทำได้รึเปล่าครับ
Date : 2009-03-24 17:38:14 By : นักเรียน
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (PHP)
<?
	for ($i=0;i<=count($b);$i++)
	{
		echo $b[$i];
	}
?>

Date : 2009-03-24 17:42:26 By : webmaster
 


 

No. 8



โพสกระทู้ ( 148 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ทำได้สิครับ

จิงทำแล้วลอง run ดูได้เลยผลลัพ ก็จะออกมาครับผม
Date : 2009-03-24 17:49:21 By : dr.website
 


 

No. 9



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


Code นี้อะครับ ผมรันแล้วผลลัพธ์ที่ได้ มันโชว์ไม่หมด นะครับ เป็นเพราะอะไรครับ ช่วยที่

<? 
$a[0]=1; 
$a[1]=1; 
$a[2]=4; 
$a[3]=2; 
$a[4]=3; 
$a[5]=3; 
$a[6]=3; 
$a[7]=9; 
$a[8]=1; 
$a[9]=7; 
$a[10]=7; 

$b= array_unique ($a); 
$aa=count($b);
echo $aa."<br>";
    for ($i=0;$i<=$aa;$i++) {
        echo $b[$i]; 
}
?> 


ผลลัพธ์คือ
6 .... คือจำนวนข้อมูลที่ไม่ซำกัน 6 ตัว
1423 .... มันแสดงแค่นี้เองครับ

แต่ถ้าผมใช้ for ($i=0;$i<=10;$i++) มันจะได้คำตอบ ที่ต้องการนะครับ

ช่วยอธิบายให้ฟังหน่อยนะครับ


หมายเหตุ
ข้อมูลที่เก็บใน array ผมไม่ต้องการให้มันแสดงผล แต่ ผมต้องการนำ ข้อมูลที่ได้ ไปQuery อีกที่หนึ่ง นะครับ
Date : 2009-03-24 19:12:24 By : นักเรียน
 


 

No. 10



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


ผมคิดว่า(array_unique )มันลบข้อมูล ที่ซ้ำออกจริงครับ แต่ มันยังคงช่องนั้นไว้อยู่(เป็นช่องว่าง) ดังนั้น เรานำ array มาลบช่องที่ว่างๆ ออก ให้เลือกแต่ช่องที่มีข้อมูล ไม่รู้ที่พูดมาใช้ รึเปล่า วอนผู้รู้ช่วยอธิบายให้ฟังทีครับ
Date : 2009-03-24 19:19:12 By : นักเรียน
 


 

No. 11



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


array มาลบช่องที่ว่างๆ ออก ลองใช้ array_values() ดูค่ะ ถ้าจำไม่ผิดจะเป็นฟังก์ชั่นในการลำดับตำแน่งของอาเรย์ใหม่

กำจัด array ที่ซ้ำลอง ดูตัวอย่างนี้ค่ะ

<?
$datas=array("one", "two", "one", "three", "four", "two"); //array ที่ต้องการตรวจสอบ

$check= array(); //array สำหรับการตรวจสอบ
for ($i=0; $i<count($datas); $i++) {
  $check[$datas[$i]]++; //mark array
  if ($check[$datas[$i]]>1) echo "รายการ $datas[$i] ซ้ำกัน<br />";
}
?>

Date : 2009-03-24 19:31:40 By : ioff
 


 

No. 12



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


เข้าใจถูกต้องแล้วครับ คือจะลบเฉพาะค่าที่ซ้ำแต่ตำแหน่งยังเหมือนเดิม
ถ้าเป็นผม ก็ สร้าง array ตัวใหม่ มารองรับ อ่ะคับ เป็นแบบนี้

Code (PHP)
<?
$a[0]=1;
$a[1]=1;
$a[2]=3;
$a[3]=2;
$a[4]=3;
$a[5]=3;
$a[6]=3;
$a[7]=7;
$a[8]=7;
$a[9]=1;
$a[10]=1;

     $x=0; 
	$k = array();	
$b= array_unique ($a);
foreach($b as $value){
	$k[$x] = $value;
		$x++;
}
print_r($k);
?>


Date : 2009-11-21 23:44:06 By : hahaji
 


 

No. 13

Guest


domain
ประมาณว่าผมมีข้อมูลจากฐานอยู่ครับตามรูป ค้องการที่จะนับว่ามี จำนวนแตละโดเมนเท่าไหร่ ผู้รู้ตอบที่ครับ
Date : 2016-07-09 21:59:10 By : nolimitpx
 


 

No. 14

Guest


พอตอบไม่ได้กัน คนดูแลระบบไม่สนใจเลยทีเดียว 55555
Date : 2017-01-11 16:16:24 By : ฟหกฟหก
 


 

No. 15



โพสกระทู้ ( 53 )
บทความ ( 0 )



สถานะออฟไลน์


ผมมาให้แนวคิดนะ ไม่รู้ว่าถูกไหม ไปลองเอง

Code (PHP)
$parts = explode('@', "[email protected]");
$user = $parts[0];
$domain = "@" . $parts[1];


โค้ดข้างบนเป้นการสปริตโดเมนออกมา

แต่ข้อมูลคุณอยู่ใน DB ก็เป็น query แล้วเข้า while
จากนั้น ก็นำข้อมูล domain ไปยัดลงใน array จนกว่าจะหมด

จากนั้นคุณค่อยเช็ค duplicate array ก็น่าจะได้คำตอบแล้วมั้งงงงงงงงงง
Date : 2017-01-11 16:58:20 By : limberger
 


 

No. 16

Guest


ใช้ group by โดเมน กับ count ใน sql ดึงค่าออกมาแสดงได้เลยครับ
Date : 2017-01-11 19:15:17 By : tenten
 


 

No. 17



โพสกระทู้ ( 69 )
บทความ ( 0 )



สถานะออฟไลน์


array_unique( $a ) ==> ลบข้อมูลที่ซ้ำกันใน อาร์เรย์ ออก
sort($a) ==> จัดเรียง อินเด็ก อาร์เรย์ ใหม่
Date : 2017-02-17 14:49:32 By : slingxer1156
 


 

No. 18



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


<?
$a[0]=1;
$a[1]=1;
$a[2]=3;
$a[3]=2;
$a[4]=3;
$a[5]=3;
$a[6]=3;
$a[7]=7;
$a[8]=7;
$a[9]=1;
$a[10]=1;

$x=0;
$k = array();
$b= array_unique ($a);
foreach($b as $value){
$k[$x] = $value;
$x++;
}
print_r($k);
?>

และถ้าต้องการให้แสดงจำนวนรวมของค่าที่ซ้ำกันด้วยและ ค่าที่ไม่ซ้ำให้มีค่า 1 ต้องทำไงครับ ขอบคุณล่วงหน้าครับ
Date : 2018-02-06 10:51:42 By : sawat123
 


 

No. 19



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$a=array(1,1,2,2,3,3,4,5);
$rs=array();
foreach($a as $x){
   if(!isset($rs[$x])){ $rs[$x]=1; else $rs[$x]++;
}
print_r($rs);

Date : 2018-02-06 11:01:15 By : Chaidhanan
 


 

No. 20



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ คุณ Chaidhanan
Date : 2018-02-06 11:19:28 By : sawat123
 


 

No. 21



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์


<?php
$a=array('pepsi','coke','fanta','fanta','coke','coke','sprite');

$x=0;
$k = array();
$rs = array();

$b= array_unique ($a);
foreach($b as $value){
$k[$x] = $value;
$x++;
}

for($i=0; $i < count($k); $i++) {
print($k[$i]);
echo("<br>");
}


foreach($a as $x){
if(!isset($rs[$x])) {
$rs[$x]=1;
}
else {
$rs[$x]++;
}
}

print_r($rs);


?>

ผลลัพธ์จากโปรแกรมข้างบน

pepsi
coke
fanta
sprite
Array ( [pepsi] => 1 [coke] => 3 [fanta] => 2 [sprite] => 1 )

คำถามคือ ผมจะเอาค่าตัวเลขไปใส่ไว้ข้างหลัง ยี่ห้อน้ำได้ยังไงครับ เพราะค่า index เป็นชื่อยี้ห้อน้ำครับ อยากให้ผลลัพธ์แสดงดังนี้ครับ

pepsi 1
coke 3
fanta 2
sprite 1
Date : 2018-02-06 13:33:25 By : sawat123
 


 

No. 22



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์





ประวัติการแก้ไข
2018-02-07 04:03:40
2018-02-07 04:03:44
Date : 2018-02-06 14:09:31 By : sawat123
 


 

No. 23



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ศีกษาคำสั่ง foreach
Date : 2018-02-08 21:01:24 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เรื่อง array ครับ - เราจะตัดข้อมูล ที่ซ้ำกันใน array ได้ยังไงครับ เช่น
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่