ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันคิดว่ามีคนพูดถึงข้อดี & ข้อเสียทั้งหมด:
ไวยากรณ์ที่ดีกว่า : นั่นเป็นความชอบส่วนตัว
ประสิทธิภาพ : ไม่มีความแตกต่าง ตามที่กล่าวมาหลายคำพูดสองครั้งอาจเร็วขึ้นหากใช้ตัวแปรหลายตัวที่ไม่สมจริง
การใช้งานที่ดีกว่า : อ้างเดี่ยว (ส่วนใหญ่) ในฐานะที่เป็น @Khez echo 'hi ' . trim($name) . ($i + 1);
พูดพร้อมกับคำพูดเดียวที่คุณสามารถเชื่อมอะไรแม้ฟังก์ชั่นการโทรและการปรับเปลี่ยนตัวแปรเช่นดังนั้น: สิ่งเดียวที่อ้างดับเบิลสามารถทำเช่นนั้นอ้างเดียวไม่สามารถทำคือการใช้\n
,\r
,\t
และเหมือนกัน
การอ่าน : ไม่มีความแตกต่าง (อาจมีการตั้งค่าส่วนตัว)
Writability / Re-Writability / Debugging : ในงบ 1 บรรทัดไม่มีความแตกต่าง แต่เมื่อจัดการกับหลายบรรทัดมันจะง่ายต่อการคอมเม้นท์ / uncomment บรรทัดขณะทำการดีบั๊กหรือเขียน ตัวอย่างเช่น:
$q = 'SELECT ' .
't1.col1 ' .
',t2.col2 ' .
//',t3.col3 ' .
'FROM tbl1 AS t1 ' .
'LEFT JOIN tbl2 AS t2 ON t2.col2 = t1.col1 ' .
//'LEFT JOIN tbl3 AS t3 ON t3.col3 = t2.col2 ' .
'WHERE t1.col1 = ' . $x . ' ' .
' AND t2.col2 = ' . $y . ' ' .
//' AND t3.col3 = ' . $z . ' ' .
'ORDER BY t1.col1 ASC ' .
'LIMIT 10';
หนีน้อยลง : อ้างคำพูดเดียว สำหรับคำพูดเดียวคุณต้องหลบหนี 2 ตัวอักษรเท่านั้น ( '
และ\
) สำหรับเครื่องหมายคำพูดคู่คุณต้องหลบหนี 2 ตัวอักษร ( "
, \
) และอีก 3 ตัวหากจำเป็น ( $
, {
และ}
)
การเปลี่ยนแปลงน้อย : คำพูดเดียว ตัวอย่างเช่นหากคุณมีรหัสต่อไปนี้:
echo 'Number ' . $i . '!';
และคุณต้องเพิ่ม 1 ถึง $ i ดังนั้นมันจึงกลายเป็นสิ่งที่ชอบ:
echo 'Number ' . ($i + 1) . '!';
แต่สำหรับการอ้างอิงสองครั้งคุณจะต้องเปลี่ยนสิ่งนี้:
echo "Number $i!";
สำหรับสิ่งนี้:
echo "Number " . ($i + 1) . "!";
สรุป : การใช้สิ่งที่คุณต้องการ
echo 'Welcome '.$name.'!';