เขียน PHP มาก็นานแล้วนะคับ แต่ไม่เคยสังเกตุความแตกต่างระหว่างคำสั่งในการเชื่อม String ระหว่าง . กับ , เลยว่ามันแตกต่างกันอย่างไร? ปกเราจะเห็นกันบ่อยๆ คือการใช้ . (dot) ในการเชื่อม String ยกตัวอย่างเช่น
echo 'ราคาทั้งหมด'. $price .'บาท';
แม้ว่าเราจะไม่ค่อยเห็นใครเขียนโค้ดโดยใช้ , comma เป็นตัวเชื่อมสักเท่าไร แต่จริงๆแล้วมันสามารถใช้เชื่อมคำได้เช่นกันครับ ทำงานได้ปกติ
echo 'ราคาทั้งหมด', $price ,'บาท';
แล้วข้อแตกต่างของมัน (. กับ ,)ล่ะคืออะไร?? สรุปแบบสั้นๆให้เห็นภาพง่ายเลย
dot นิยมใช้เชื่อมคำต่อกับตัวแปรที่ไม่มีเงื่อนไข เช่นecho 'หัวข้อเรื่อง : '.$title.' ตามนี้';
comma นิยมใช้เชื่อมคำกับตัวแปรที่มีเงื่อนไขecho '<p>Status Active : ', ($active==True) ? 'แสดงผล Active':' ซ่อน Hidden' ,'</p>';
ซึ่งผลลัพท์ก็จะแสดงแค่คำว่า แสดงผล Active หรือ ซ่อน Hidden อย่างใดอย่างหนึ่งเท่านั้นครับ
ข้อควรระวัง comma ใช้ได้กับคำสั่ง echo เท่านั้นนะครับ ไม่สามารถใช้กับฟังก์ชั่นในการ return ค่าได้