2010-03-25 3 views
4

Я хочу сохранить символ $ в переменной PHP.

$var = "pas$wd"; 

Я получаю следующую ошибку

Notice: Undefined variable: wd in C:\xxxxx on line x 

Помощь.

ответ

13

Вы можете использовать одиночные кавычки:

$var = 'pas$wd'; 

Таким образом, переменные не будут интерполированное.


Else, вы можете избежать $ знак, с \:

$var = "pas\$wd"; 


И, ради Комплектность с PHP> = 5.3, вы можете также использовать NOWDOC (одинарные кавычки) синтаксиса:

$var = <<<'STRING' 
pas$wd 
STRING; 


В качестве ссылки см the Strings page of the PHP manual(цитирует пару фраз):

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

И:

Если строка заключена в двойные кавычки ("), PHP будет интерпретируют большее количество управляющих последовательностей для специальных символов:
\$: доллар знак

4

Одинарные кавычки подавляют расширение:

var = 'pas$wd'; 
3

Двойные кавычки допускают переменную интерполяцию. Поэтому, если вы используете двойные кавычки, вам нужно сбежать с $, иначе вы можете использовать одинарную кавычку, которая не выполняет переменную интерполяцию.

$ var = "pas\$wd"; 

или

$ var = 'pas$wd'; 
Смежные вопросы