Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP String Data Type


ความหมายและการใช้งาน

ใน 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