|
|
|
เรื่อง PHP Read Textfile การดึงค่าข้อมูลใน Textfile ที่ซ้ำกันมาแสดงเพียงครั้งเดียว |
|
|
|
|
|
|
|
เก็บลง Array ก่อนครับ จากนั้นก็ใช้ array_unique() เอาค่าที่ไม่ซ้ำกันครับ
Code (PHP)
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
|
|
|
|
|
Date :
2011-06-10 16:24:59 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
การจัดการข้อมูลซ้ำกันในอาร์เรย์
Code (PHP)
< ?PHP
$vararr = array(“aaa”,”bbb”,”ccc”,”aaa”,”bbb”,”ccc”);
$duparray = array_unique($vararr);
foreach ($duparray as $index => $dup)
{
print “$index === $dup
“;
}
?>
ผลที่ได้คือ
0 === aaa
1 === bbb
2 === ccc
เป็นการดึงข้อมูลจาก text file ทำไงครับ
aaa
bbb
aaa
ccc
ccc
เราจะเขียนโค๊ดยังไงครับ
|
|
|
|
|
Date :
2011-06-10 18:01:09 |
By :
9811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & Readfile</title>
</head>
<body>
<?
$arr = null;
$strFileName = "thaicreate.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$arr[] = fgets($objFopen, 4096);
}
fclose($objFopen);
}
$arr = array_unique($arr);
for($i=0;$i<=count($arr);$i++)
{
echo $arr[$i]."<br>";
}
?>
</body>
</html>
Go to : PHP fopen(),fgets() read text file
|
|
|
|
|
Date :
2011-06-10 18:01:36 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เก็บข้อมูล
a
b
c
a
d
e
ผลลัพธ์
a
b
c
<----------- จะเว้นว่างตรงนี้ ครับ
d
e
แต่ถ้าเก็บข้อมูล
a
b
c
d
e
a
ผลลัพธ์
a
b
c
d
e
a <-------- จะแสดงผล a ซ้ำเหมือนเดิมครับ ต้องแก้ไขยังครับ
|
|
|
|
|
Date :
2011-06-13 11:12:26 |
By :
9811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูพวก space ด้วยครับ
Code (PHP)
$arr[] = trim(fgets($objFopen, 4096));
|
|
|
|
|
Date :
2011-06-13 13:37:25 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเก็บข้อมูลใน textfile ประมาณนี้ครับ
taff.txt
00000251 110401 0705 12
00000431 110401 0714 12
00000251 110401 1607 12
00000431 110401 1658 12
หมายเหตุ
รหัสบุคคล วัน เวลา เครื่องที่
แล้วทีนี้จะเช็ค ว่ารหัสบุคคลและวันเดียวกัน ให้แสดงเพียงแถวเดียว แล้วดึงข้อมูลมาแสดงรูปแบบนี้ครับ
ตัวอย่าง
รหัสบุคคล วัน เวลาเข้า เวลาออก เครื่อง
00000251 110401 0705 1607 12
00000431 110401 0714 1658 12
รบกวนช่วยดูผมหน่อยนะครับ ผมหาวิธีแล้วไม่ได้เลย ยอม! จึงขอความช่วยเหลือคับ
จากสคริปที่ประยุกต์ได้แค่นี้ครับ
Code (PHP)
$strFileName = "data/taff.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen, 4096);
echo $file."<br>";
}
fclose($objFopen);
}
ไม่รู้ว่าจะวนเช็คข้อมูลให้ออกมารูปแบบนี้ยังไงครับ
ขอบคุณครับมากๆเลยครับ
|
|
|
|
|
Date :
2011-07-15 01:10:22 |
By :
naibb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณคงจะต้องเก็บลง Array ก่อนครับ แล้วมา loop หาค่าซ้ำอีกที
|
|
|
|
|
Date :
2011-07-15 08:33:53 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอจะมีตัวอย่างให้ปรับปรุงมั้ยครับ
|
|
|
|
|
Date :
2011-07-15 12:47:54 |
By :
naibb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะนำข้อมูลใน textfile มาตรวจสอบค่ายังไงครับ เช่น
Code (PHP)
<?php
$dups=file("data/taff.TAF");
$cleared = array_unique($dups);
foreach ($cleared as $Item)
{
$data1= explode(" ",$Item);
echo $data1[0]. "<br>";
}
?>
จะนำ $data1[0] มาเช็ควนลูปค่าซ้ำยังไงครับ
ขอตัวอย่างหน่อยครับ
|
|
|
|
|
Date :
2011-07-15 17:20:09 |
By :
naibb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?
?
มีใครช่วยได้บ้างครับ
|
|
|
|
|
Date :
2011-07-19 09:58:08 |
By :
naibb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ามีข้อมูลวันที่เหมือนกันจะให้แสดง แค่ครั้งเดียว แต่ข้อมูลมีหลาย อัน แบบนี้ค่ะ ทำยังไงค่ะ
12/03/2011 a
12/03/2011 b
12/03/2011 c
13/03/2011 a
13/03/2011 b
จะให้แสดงออกมาแบบ
12/03/2011 a
b
c
13/03/2011 a
b
แบบนี้ค่ะ พอจะช่วยได้ไหมค่ะ
|
|
|
|
|
Date :
2011-08-22 13:53:56 |
By :
OracialPC |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|