Как вы создаете строку на PHP с обратной косой чертой?

Мне нужна обратная косая черта, чтобы быть частью строки. Как я могу это сделать?

Ответ 1

Использование одинарных кавычек

$string = 'abc\def';

Использование двойных кавычек

$string = "abc\\def";

Ответ 2

Короткий ответ:

Используйте две обратные косые черты.

Длинный ответ:

Иногда вы можете использовать одиночную обратную косую черту, но иногда вам нужно два. Когда вы можете использовать одиночную обратную косую черту, это зависит от двух вещей:

  • будет ли ваша строка окружена одинарными кавычками или двойными кавычками и
  • символ, следующий за обратным слэшем.

Если у вас есть двойная кавычка, обратная косая черта во многих случаях рассматривается как escape-символ, поэтому лучше всегда избегать обратной косой черты с другой обратной косой чертой:

$s = "foo\\bar"

В одной косой чертой строки обратная косая черта будет буквальной, если за ними не будет следовать ни одна кавычка, ни другая обратная косая черта. Поэтому для вывода одной обратной косой черты с одиночной кавычкой строки вы обычно можете написать это:

$s = 'foo\bar'

Но для вывода двух обратных косых черт в строке вам понадобится следующее:

$s = 'foo\\\\bar'

Если вы всегда используете две обратные косые черты, вы никогда не ошибетесь.

Ответ 3

Вам нужно избежать всех обратных косых черт, таких как "c:\\windows\\".