ขอเล่ารายละเอียดก่อนนะครับ
*สมมติ*ว่า ผมมีไฟล์ .txt ไฟล์หนึ่ง ที่เก็บใส่ข้อมูลไว้ลักษณะนี้
ลูฟี่,ชาย
โซโล,ชาย
นามิ,หญิง
อุซบ,ชาย
นิโคโรบิน,หญิง
ทีนี้ ผมต้องการให้มันแสดงเฉพาะบรรทัดที่มี "หญิง" อยู่ครับ ซึ่งถ้าหากถูกต้อง เวลารันควรจะได้
นามิ,หญิง
นิโคโรบิน,หญิง
ทีนี้ ผมได้ลองโค้ดมาประมาณนี้
<?
$f = fopen("test.txt", "r");
$text; //เก็บข้อความแต่ละบรรทัด
$name; //สำหรับเก็บ string ของ $text ก่อนเครื่องหมาย ','
$s; //สำหรับเก็บ string ของ $text หลังเครื่องหมาย ','
while(!feof($f)) {
$text = fgets($f); //เก็บข้อความในบรรทัด
list($name,$s) = explode(",",$text);
if ($s=="หญิง") {
echo $text."<br />";
}
}
fclose($f);
?>
แต่ได้ output ออกมาเป็น
นิโคโรบิน,หญิง
ซึ่งหมายความว่า มีแค่บรรทัดสุดท้ายเท่านั้นที่เข้าเงื่อนไขของ if
ผมจึงลอง ลบเงื่อนไข if ออกแล้ว echo $s; ออกมา ได้ output "ชาย ชาย หญิง ชาย หญิง" ซึ่งมีเว้นวรรคปริศนาอยู่ ซึ่งผมเดาว่ามาจากการขึ้นบรรทัดใหม่ ซึ่ง $s ของแต่ละบรรทัดนั้น มีเว้นวรรคตามหลังทุกบรรทัดเลย ยกเว้นบรรทัดสุดท้าย ซึ่งคิดว่าน่าจะเป็นสาเหตุ ที่ทำให้ไม่เข้าเงื่อนไข if
แต่พอเขียน if ใหม่เป็น if ($s=="หญิง"||$s=="หญิง ") ก็ไม่ได้ output ตามที่ต้องการ
ผมจึงมาขอคำแนะนำครับ ให้ได้ output ตามต้องการครับ ขอบคุณครับ
มีปัญหาเกี่ยวกับ PHP ครับ
*สมมติ*ว่า ผมมีไฟล์ .txt ไฟล์หนึ่ง ที่เก็บใส่ข้อมูลไว้ลักษณะนี้
ลูฟี่,ชาย
โซโล,ชาย
นามิ,หญิง
อุซบ,ชาย
นิโคโรบิน,หญิง
ทีนี้ ผมต้องการให้มันแสดงเฉพาะบรรทัดที่มี "หญิง" อยู่ครับ ซึ่งถ้าหากถูกต้อง เวลารันควรจะได้
นามิ,หญิง
นิโคโรบิน,หญิง
ทีนี้ ผมได้ลองโค้ดมาประมาณนี้
<?
$f = fopen("test.txt", "r");
$text; //เก็บข้อความแต่ละบรรทัด
$name; //สำหรับเก็บ string ของ $text ก่อนเครื่องหมาย ','
$s; //สำหรับเก็บ string ของ $text หลังเครื่องหมาย ','
while(!feof($f)) {
$text = fgets($f); //เก็บข้อความในบรรทัด
list($name,$s) = explode(",",$text);
if ($s=="หญิง") {
echo $text."<br />";
}
}
fclose($f);
?>
แต่ได้ output ออกมาเป็น
นิโคโรบิน,หญิง
ซึ่งหมายความว่า มีแค่บรรทัดสุดท้ายเท่านั้นที่เข้าเงื่อนไขของ if
ผมจึงลอง ลบเงื่อนไข if ออกแล้ว echo $s; ออกมา ได้ output "ชาย ชาย หญิง ชาย หญิง" ซึ่งมีเว้นวรรคปริศนาอยู่ ซึ่งผมเดาว่ามาจากการขึ้นบรรทัดใหม่ ซึ่ง $s ของแต่ละบรรทัดนั้น มีเว้นวรรคตามหลังทุกบรรทัดเลย ยกเว้นบรรทัดสุดท้าย ซึ่งคิดว่าน่าจะเป็นสาเหตุ ที่ทำให้ไม่เข้าเงื่อนไข if
แต่พอเขียน if ใหม่เป็น if ($s=="หญิง"||$s=="หญิง ") ก็ไม่ได้ output ตามที่ต้องการ
ผมจึงมาขอคำแนะนำครับ ให้ได้ output ตามต้องการครับ ขอบคุณครับ