PHP การดึงค่าข้อมูลใน Textfile ที่ซ้ำกันมาแสดงเพียงครั้งเดียว
ตัวอย่างข้อมูลที่เก็บเป็น Textfile
a
b
c
d
b
e
a
อยากได้ผลลัพธ์ ที่ได้
a
b
c
d
e
ประมาณนี้นะครับ
__________________________________________________________
ผมเคยค้นหาจาก Internet ที่ไม่ได้เป็น Textfile
<?php
$vararr = array("aaa","bbb","ccc","aaa","bbb","ccc");
$duparray = array_unique($vararr);
foreach ($duparray as $index => $dup)
{
print "$dup <br>";
}
?>
ผลลัพธ์
aaa
bbb
ccc
__________________________________________________________
แต่ถ้าเป็นการดึงจาก Textfile ต้องเขียนคำสั่งยังไงครับ
<?php
$vararr = file('path/to/file');
?>
คำสั่ง file() จะอ่าน 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
รบกวนช่วยดูผมหน่อยนะครับ ผมหาวิธีแล้วไม่ได้เลย ยอม!
จากสคริปที่ประยุกต์ได้แค่นี้ครับ
$strFileName = "data/taff.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen, 4096);
echo $file."<br>";
}
fclose($objFopen);
}
ไม่รู้ว่าจะวนเช็คข้อมูลให้ออกมารูปแบบนี้ยังไงครับ
textfile
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
จะบอกวิธีการตรวจสอบ และนำมาแสดงผลยังไงครับ
ขอความช่วยเหลือจริงๆครับ