ความแตกต่างระหว่างราคาเดียวและราคาสองครั้งใน PHP

เครื่องหมายคำพูดเดี่ยวและเครื่องหมายคำพูดคู่มีคำอธิบายแตกต่างกันเล็กน้อยใน PHP อ่านต่อเพื่อดูความแตกต่างในวิธีการประเมินผล

คำคมเดี่ยว

คำพูดเดี่ยวมีแนวโน้มที่จะแยกวิเคราะห์สิ่งต่างๆออกด้วยความรู้สึกที่แท้จริงมากขึ้น ตัวอย่างเช่นดำเนินการต่อไปนี้:

 $ test = "BOOOM"; echo '$ test' 

ชื่อตัวแปรเมื่อใส่ในเครื่องหมายคำพูดเดียวจะไม่ถูกแยกวิเคราะห์ตามค่าที่แท้จริง นี่คือสิ่งที่พิมพ์จริงจากการทำงานนี้เป็นโปรแกรม PHP ง่ายๆ:

 $ ทดสอบ 

มีเพียง 2 สถานการณ์ที่ฉันสามารถนึกถึงว่าข้อมูลใดที่ได้รับการแยกวิเคราะห์จากสตริงเดียว ก่อนอื่นเพื่อแสดงอักขระที่ยกมาเดี่ยวจะต้องมีเครื่องหมายแบ็กสแลช มิฉะนั้นจะถูกตีความว่าเป็นจุดสิ้นสุดของสตริงของคุณ ประการที่สองการแสดงเครื่องหมายแบ็คสแลชจะต้องมีเครื่องหมายแบ็กสแลค ตัวอย่าง:

 echo 'quote เดียว: \' '; echo 'เครื่องหมายทับขวา: \\'; 

คำพูดคู่

คำพูดคู่มีแนวโน้มที่จะแยกแยะสิ่งต่างๆออกสำหรับคุณ เมื่อทำงานระหว่างราคาคู่:

 $ test = "BOOOM"; echo "$ test" 

มันส่งออกค่าตัวแปรที่แท้จริง:

 Booom 

ขณะนี้บางครั้งคุณจะพบกับสถานการณ์ที่ชื่อตัวแปรที่คุณกำลังพยายามส่งออกเกิดจากการไม่ได้รับการแยกวิเคราะห์อย่างถูกต้องเนื่องจากมีอักขระรอบตัว

 $ test = "BOOOM"; echo "$ test"; 

คุณคิดว่าจะได้รับผลผลิตที่นี่? คำตอบคืออะไร PHP มองหาตัวแปรที่มีชื่อว่า $ test และเนื่องจากไม่มีอยู่ไม่มีอะไรออก วิธีที่เหมาะสมในการส่งออกค่าตามด้วย 'ed' จะเป็นดังนี้

 $ test = "BOOOM"; echo "{$ test} ed"; 

โดยการห่อหุ้มไว้ภายในวงเล็บปีกกาจะช่วยให้ PHP รู้ว่าตัวแปรเริ่มต้นและหยุดทำงานจะช่วยให้สามารถประเมินตัวแปรได้อย่างถูกต้อง

ความเร็วแตกต่าง

ฉันวิ่งทดสอบการเปรียบเทียบแบบง่ายๆเพื่อประเมินสถานการณ์ที่แตกต่างกันเล็กน้อยความแตกต่างระหว่างความเร็วระหว่าง 2 คือเล็กน้อย เครื่องหมายคำพูดแบบเดี่ยวนั้นมีขนาดเล็กเร็วขึ้นเนื่องจากไม่ต้องค้นหาตัวแปรและแยกค่า แต่ฉันไม่เคยพบสถานการณ์ที่ทำให้เกิดความแตกต่างกับเรื่อง ใช้สิ่งที่เหมาะสมกับความต้องการในปัจจุบันของคุณ

ดูเพิ่มเติมที่