Обратная косая черта в строке Переполнение стека

У меня есть проблема. Я пытаюсь написать строку с текстом ASCII, например: ‘/ \’. Но всякий раз, когда я это делаю, обратная косая черта искажает код, отменяя кавычку, определяющую его как строку, и, следовательно, портит. Есть ли способ отменить обратную косую черту, чтобы она не отменила цитату? Спасибо, парни!

-1

Решение

\ это специальный символ, который говорит: «Следующий символ имеет особое значение».

Так что если вы хотите показать \ ты должен написать … \\ чтобы получить один \ на выходе

2

Другие решения

Было бы очень полезно показать, что вы пробовали, но это даст точный результат, который вы запрашивали (как показано SO)

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

‘/ \’

Это также должно дать вам представление о том, как экранирование обратной косой черты работает в различных типах строк.

0

Отличным решением при написании таких вещей является HEREDOC. Внутри блока heredoc вам не нужно беспокоиться об экранировании чего-либо, это будет просто текст.

Например:

echo <<<TEXT

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

TEXT;

Есть одна загвоздка. PHP сломается, если вы не выровняете эхо в начале строки, или если TEXT; не выравнивается в начале строки.

Heredoc также может быть назначен переменной, например:

$var = <<<SOME_MORE_TEXT

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

SOME_MORE_TEXT;

Наконец, HEREDOC сохраняет табуляции и пробелы. Что также может пригодиться при выполнении ASCII искусства.

Ссылаться на: http://php.net/manual/en/language.types.string.php для дополнительной информации.

0

Вам нужно выходить из последнего только при использовании одинарных кавычек.

$var = 'backslash\backslash\backslash\\';
// output is:
// backslash\backslash\backslash\
0
По вопросам рекламы [email protected]