Dalam pengaturcaraan PHP, rentetan ialah salah satu jenis data biasa. Kami selalunya perlu melepaskan diri daripada rentetan untuk memastikan bahawa kod boleh berjalan seperti biasa dan mengelakkan potensi risiko keselamatan. Memandangkan versi PHP sentiasa dikemas kini, pelarian rentetan juga telah mengalami beberapa perubahan. Artikel ini akan memperkenalkan operasi melarikan diri rentetan dalam PHP7.
1. Aksara melarikan diri
Dalam PHP, aksara melarikan diri digunakan untuk mewakili beberapa aksara khas, seperti tanda petikan, garis miring ke belakang, baris baharu, dsb. Watak pelarian biasa termasuk:
dalam rentetan Sintaks untuk menggunakan aksara melarikan diri adalah seperti berikut:
$string = 'This is a 'string''; $string = "This is a "string""; $string = "This is a string with a \ backslash"; $string = "This is a string with a newline"; $string = "This is a stringwith a carriage return"; $string = "This is a string with a tab"; $string = "This is a stringwith a vertical tab";
Ambil perhatian bahawa apabila menggunakan rentetan petikan tunggal, anda hanya boleh menggunakan aksara melarikan petikan tunggal, tetapi bukan aksara melarikan petikan berganda Contohnya:
$string = 'This is a "string"'; // 错误 $string = 'This is a 'string''; // 正确
$str = ' '; // 双重转义后的字符串
Sebagai contoh, kod berikut menggunakan sintaks melarikan diri rentetan petikan dua moden:
$name = 'John'; $string = "Hello, {$name}!"; echo $string; // 输出:'Hello, John!'
Dalam kod di atas, kerana kita telah menggunakan pendakap kerinting {} untuk pembenaman pembolehubah, kita perlu mendahului nama pembolehubah Gunakan aksara escape $ Jika kita tidak menggunakan sintaks escape baharu, kod tersebut perlu dilepaskan dua kali secara manual:
$name = 'John'; $string = "Hello, {$name}!"; $string = "Hello, ".$name."!"; echo $string; // 输出:'Hello, John!'
rentetan heredoc dan nowdoc telah diperkenalkan dalam PHP5.3 Ciri kedua rentetan ini ialah ia boleh mengandungi berbilang baris teks dalam rentetan tanpa melarikan diri. Rentetan bermula dengan operator <<< dan berakhir dengan pengecam yang sama:
$str = <<<EOD This is a multi-line string. EOD;
nowdoc Rentetan bermula dengan petikan tunggal dan berakhir dengan petikan tunggal yang sama:
$str = <<<'EOD' This is a multi-line string. EOD;
dalam PHP7, kita boleh menggunakan sintaks melarikan diri moden untuk mengendalikan aksara melarikan diri dalam rentetan heredoc/nowdoc Berikut ialah sintaks baharu:
$str = <<<EOD This is a "multi-line" string. EOD; echo $str; // 输出:'This is a "multi-line" string.'
$str = <<<'EOD' This is a 'multi-line' string. EOD; echo $str; // 输出:'This is a 'multi-line' string.'
Dalam PHP7, terdapat beberapa perubahan dalam operasi melarikan diri rentetan. Sintaks melarikan diri moden boleh membantu kami menulis kod yang lebih jelas dan ringkas serta mengelakkan proses melarikan diri berganda manual yang membosankan. Jika anda seorang pembangun PHP, adalah disyorkan agar anda menggunakan sintaks melarikan diri moden untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda.
Atas ialah kandungan terperinci php7 string escape. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!