ความหมายและการใช้งาน
ใน PHP สตริง ชนิดข้อมูลเป็นลำดับอักขระที่ไม่ใช่ตัวเลข อักขระใดๆ ในชุด ASCII สามารถเป็นส่วนหนึ่งของสตริงได้ PHP ไม่รองรับ UNICODE
ใน PHP การแสดงสตริงตามตัวอักษรสามารถทำได้โดยใช้เครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดคู่ พร้อมไวยากรณ์ heredoc และไวยากรณ์ nowdoc
ไวยากรณ์
//Literal assignment of string value to variable $var='Hello World'; //Single quotes $var3="Hello World"; //Double quotes
การฝังอักขระอัญประกาศเดี่ยวภายในสตริงที่ใส่เครื่องหมายคำพูดเดียว ให้นำหน้าด้วย '\' ในทำนองเดียวกันกับการฝังแบ็กสแลชในคำนำหน้าสตริงที่ยกมาเดียวโดยใช้แบ็กสแลชเพิ่มเติม อักขระหลีกอื่น ๆ เช่น \n เป็นต้น ไม่มีการแสดงพิเศษใดๆ
สตริงที่มีเครื่องหมายอัญประกาศคู่ปฏิบัติต่อ Escape Sequence โดยมีความหมายพิเศษดังนี้:
ลำดับ | ความหมาย |
---|---|
\n | linefeed |
\r | การขึ้นบรรทัดใหม่ |
\t | แท็บแนวนอน |
\v | แท็บแนวตั้ง (ตั้งแต่ PHP 5.2.5) |
\e | escape (ตั้งแต่ PHP 5.4.4) |
\f | การป้อนแบบฟอร์ม (ตั้งแต่ PHP 5.2.5) |
\\ | แบ็กสแลช |
\$ | เครื่องหมายดอลลาร์ |
\" | เครื่องหมายคำพูดคู่ |
สตริง Heredoc เริ่มต้นด้วยสัญลักษณ์ <<<ตามด้วยตัวระบุที่ผู้ใช้เลือก จากบรรทัดถัดไป ลำดับอักขระหลายบรรทัดใดๆ ที่อาจมี Escape Sequence ข้างต้น บรรทัดสุดท้ายควรมีตัวระบุ heredoc ที่ลงท้ายด้วยเครื่องหมายอัฒภาค
//Heredoc assignment of string value to variable public $var = <<< XYZ Hello World Welcome to Tutorialspoint XYZ;
สตริง Nowdoc คล้ายกับสตริง Heredoc ความแตกต่างคือตัวระบุต้องอยู่ในเครื่องหมายคำพูดเดี่ยวและลำดับหลีกภายในสตริง nowdoc จะไม่แยกวิเคราะห์และปรากฏตามที่เป็นอยู่
//Nowdoc assignment of string value to variable public $var = <<< 'XYZ' Hello World Welcome to Tutorialspoint XYZ;
เวอร์ชัน PHP
ใช้สัญลักษณ์แยก "_" ได้ตั้งแต่ PHP 7.40
ตัวอย่างต่อไปนี้แสดงสตริงที่ยกมาเดี่ยว ลำดับหลีก \n ไม่ได้แยกวิเคราะห์และปรากฏตามที่เป็นอยู่
ตัวอย่าง
<?php $var = 'Hello World.\n Welcome to Tutorialspoint'; echo $var; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello World.\n Welcome to Tutorialspoint
ตัวอย่างสตริงที่ยกมาคู่นี้ ลำดับหลีก \n ถูกแยกวิเคราะห์และข้อความปรากฏในสองบรรทัด
ตัวอย่าง
<?php $var = "Hello World.\n Welcome to Tutorialspoint"; echo $var; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello World. Welcome to Tutorialspoint
ตัวอย่างนี้แสดงวิธีการใช้ไวยากรณ์ Heredoc และ Nowdoc สำหรับการแสดงสตริง
ตัวอย่าง
<?php //Heredoc $var = <<< STR Hello World Welcome to Tutorialspoint STR; echo $var . "\n"; //Nowdoc $var = <<< 'STR' Hello World Welcome to Tutorialspoint STR; echo $var; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello World Welcome to Tutorialspoint Hello World Welcome to Tutorialspoint
ตัวอย่างนี้แสดงค่าของตัวแปรที่ถูกแทนที่ด้วยสตริง heredoc สตริง Nowdoc ไม่ได้ทำการแทนที่
ตัวอย่าง
<?php $name = "Mahesh"; $var = <<< STR Hello $name Welcome to Tutorialspoint STR; echo $var . "\n"; //Nowdoc $var = <<<'STR' Hello $name Welcome to Tutorialspoint STR; echo $var; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello Mahesh Welcome to Tutorialspoint Hello $name Welcome to Tutorialspoint