2010-08-23 17 views
6

Tôi biết tôi có thể tạo một verbatim string literal trong C# bằng cách sử dụng ký hiệu @. Ví dụ, thông thườngCó tương đương với các chuỗi ký tự nguyên văn của C# trong PHP không?

String path = "C:\\MyDocs\\myText.txt"; 

cũng có thể được viết lại như

String path = @"C:\MyDocs\myText.txt"; 

Bằng cách này, các chuỗi chữ không phải là lộn xộn với các nhân vật thoát và làm cho nó nhiều hơn nữa có thể đọc được.

Điều tôi muốn biết là liệu PHP cũng có tương đương hay tôi phải tự thoát khỏi chuỗi đó?

Trả lời

5
$path = 'C:\MyDocs\myText.txt'; 

" dấu ngoặc kép cho phép tất cả các loại chuỗi ký tự đặc biệt, ' dấu nháy đơn là đúng nguyên văn (chỉ có một số fine print khoảng thoát ' và thoát một lối thoát \).

+1

Xem thêm: http://php.net/manual/en/language.types.string.php – NullUserException

3

Thậm chí đơn trích dẫn chuỗi trong PHP có nhu cầu thoát ra với nghĩa đen nhất đơn dấu ngoặc kép và backslashes đen :

$str = 'Single quotes won\'t help me \ avoid escapes or save a tree'; 

Giải pháp duy nhất không phân tích cú pháp cho PHP là sử dụng nowdocs. Điều này đòi hỏi bạn sử dụng PHP 5.3.

$str = <<<'EOD' 
I mustn't quote verbatim text \ 
maybe in the version next 
EOD; 
+0

Bạn không cần phải thoát khỏi dấu gạch chéo ngược, trừ khi chúng có thể thoát khỏi một dấu nháy đơn. – deceze

+0

Tại sao bạn nói đúng! Mea culpa. –

Các vấn đề liên quan