2016-11-24 42 views
-1

我遇到問題。我試圖用這樣的ASCII文本編寫一個字符串:'/ \'。但是每當我這樣做時,反斜槓就會通過取消定義一個字符串的引用來鎖定代碼,從而將其擰緊。無論如何取消反斜槓,所以它不會取消報價?多謝你們!反斜槓在PHP中打破字符串

+0

你能告訴我們帶引號的字符串,因爲你現在有嗎? – WEBjuju

+6

當在PHP中的字符串中的引號出現之前立即出現反斜線時,它將轉義該字符,因此它不會是結尾引號。你需要用另一個逃避反斜槓。 '\\'' – marekful

+0

@WEBjuju我的輸出是在下面的答案中的評論。 – Njinx

回答

2

\是特殊字符,即:'下一個字符有特殊含義'。

所以,如果你想dispaly \你應該寫... \\到寫東西時,喜歡就是HEREDOC得到輸出

+0

我試過了。原始字符串看起來像這樣:''\/\ /''和修改後的字符串看起來像這樣''\\/\\ /''但我得到了這個輸出「//」 – Njinx

+0

請更新您的問題與一些示例代碼 – piotr

0

一個很好的解決方案一個\。在heredoc塊內部,你不需要擔心逃脫任何事情,它只是文本。

例如:

echo <<<TEXT 

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\ 

TEXT; 

有一個鎖釦。如果你不在線的開頭對齊echo,或者TEXT;在行首不對齊。

定界符也可以被分配給一個變量,像這樣:

$var = <<<SOME_MORE_TEXT 

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\ 

SOME_MORE_TEXT; 

最後,HEREDOC保留製表符和空格。在進行ASCII藝術時,這也可能派上用場。

有關更多信息,請參閱:http://php.net/manual/en/language.types.string.php

+1

OP顯示他們在答案部分中顯示的示例在哪裏?我想我認爲這個解決方案是OP將他們的例子放在答案中。聳肩。我的新人更不容易混淆。 – WEBjuju

+0

事實確實如此!擁有它! – Digitalis

0

這將是非常有益的,以顯示你已經嘗試了什麼,但是這會產生你所要求的精確的輸出(如圖SO)

echo '\'/\\' . "'\n" ; 

「/ \」

應該也給您瞭解反斜槓轉義在不同類型的字符串中的工作原理。

0

您只需在使用單引號時避開最後一個。

$var = 'backslash\backslash\backslash\\'; 
// output is: 
// backslash\backslash\backslash\ 
+0

我不明白的是,如果op的例子只是$ var ='\/\ /';它會出來** \/\/**。我想我們會被困在這個謎中,因爲我們似乎比OP更感興趣。 – WEBjuju