งงกับการใช้if()ตรวจสอบเงื่อนไขครับ

เริ่มโดย ordinary04, 02 สิงหาคม 2018, 22:11:42

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ordinary04

ผมทดลองเขียนโปรแกรมตามนี้
<?php
$str 
"ant
bird
cat"
;                         //ให้ข้อความอยู่คนละบรรทัด
$ch explode("\n",$str);     //ทดลองใช้explode()เพื่อแยกข้อความไปเก็บไว้แต่ละarray
print_r($ch);                 //ได้ผลลัพธ์ = Array( [0] => ant [1] => bird [2] => cat )
if($ch[0]== "ant"){           //ทดลองเช็คเงื่อนไข
echo "work";
}else{
echo "Not work";
}                             
//ผลลัพธ์เป็น Not work
echo $ch[0];                  //ทดลองแสดงตัวแปรนั้นดูก็เป็น ant
?>

อยากถามพี่ๆว่าทำไมพอเช็คเงื่อนไขแล้วมันได้ผลลัพธ์ออกมาเป็นNot work ทั้งๆที่$ch[0]มีค่าเป็นant
ขอบคุณล่วงหน้าครับ

icez

แก้ไฟล์จากบน windows ใช่มั้ยครับ

ตอนเคาะบรรทัดใหม่ windows จะเซฟเป็น \r\n นะครับ
เท่ากับข้อความจริงๆ คือ ant\r\nbird\r\ncat
พอ explode("\n" มันเลยได้เป็น

ch[0] = "ant\r"
ch[1] = "bird\r"
ch[2] = "cat"


ลองดูนะครับ
[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

ordinary04

ได้แล้วครับ ขอบคุณมากๆเลยครับ

Queue

echo มันแสดงค่าที่แสดงได้ครับ

ถ้าอยากเห็นข้อมูลจริงๆ ต้อง var_dump()