Page 1 of 1
ช่วยด้วยค่ะ ถามเรื่องฟังกชั่น addslashes
Posted: 21/03/2015 9:11 pm
by เหมย
จาก code ด้านล่าง
ถ้าต้องการให้ผลลัพธ์แสดงเป็น
คำว่า This \"is" a book
โดยใช้ฟังก์ชั่น addslashes แก้ไงอ่ะ (ขอบคุณล่วงหน้าค่ะ มึนตึ๊บ)
?php
$str= "This "is" a book";
echo "บรรทัดนี้ยังไม่เรียกใช้งานฟังก์ชัน addslashes() ผลลัพธ์ คือ $str<br>";
echo "บรรทัดนี้หลังจากใช้งานฟังก์ชัน addslashes() ผลลัพธ์ คือ ".addslashes($str);
?>
Re: ช่วยด้วยค่ะ ถามเรื่องฟังกชั่น addslashes
Posted: 23/03/2015 11:13 am
by tsukasaz
Code: Select all
<?php
$str= 'This "is" a book';
echo "บรรทัดนี้ยังไม่เรียกใช้งานฟังก์ชัน addslashes() ผลลัพธ์ คือ $str<br>";
echo "บรรทัดนี้หลังจากใช้งานฟังก์ชัน addslashes() ผลลัพธ์ คือ ".addslashes($str);
Re: ช่วยด้วยค่ะ ถามเรื่องฟังกชั่น addslashes
Posted: 23/03/2015 11:11 pm
by เหมย
ขอบคุณค่ะ ... แต่ งง
$str= "This "is" a book"; - > ทำไมใช้เครื่องหมาย " แล้วผลลัพธ์ไม่ได้ ทั้งๆที่ฟังก์ชั่น addslashes ก็ใช้แยกทั้งเครื่องหมาย " และ ' นิน๊า
$str= 'This "is" a book'; -> ทำไมพอใช้เครื่องหมาย ' แล้วได้ผลลัพธ์
เครื่องหมาย ' และ " มันใช้แตกต่างกันยังไงเหรอ
Re: ช่วยด้วยค่ะ ถามเรื่องฟังกชั่น addslashes
Posted: 24/03/2015 11:46 pm
by chbbk
" กับ ' ไม่ได้แตกต่างกันค่ะ แต่ว่า ....
ถ้าเป็น "This "is" a book" มันจะมองว่าเป็น
"This " is " a book"
string แรกจบแค่ This และ is คืออะไรไม่รู้ ไม่รู้จักและผิด syntax
อะไรก็ตามที่อยู่ใน "...."(double quote) หรือ '....'(single quote) จะเป็น string
เมื่ออ่านเจอ double quote ตัวแรกมันก็จะมองว่าสิ่งที่อยู่ระหว่าง double quote ตัวแรกที่อ่านเจอจนถึง double quote ตัวถัดไปนั้นเป็น 1 ข้อความ
ถ้าเราต้องการให้ในข้อความมี double quote อยู่ด้วยโดยไม่มองว่าเป็นการจบข้อความ
เราก็ใช้ single quote แทนค่ะ เพราะ single quote กับ double quote ไม่สามารถจับคู่แทนกันได้
เช่น
echo "This 'is' a book"; จะได้ผลแสดงออกมาเป็น This 'is' a book
echo 'This "is" a book'; จะได้ผลแสดงออกมาเป็น This "is" a book
echo "This is a book'; syntax error ค่ะ single quote กับ double quote ไม่สามารถจับคู่กันได้

Re: ช่วยด้วยค่ะ ถามเรื่องฟังกชั่น addslashes
Posted: 26/03/2015 11:22 am
by เหมย