tags:

views:

92

answers:

5

I want to store a $ character in a PHP variable.

$var = "pas$wd";

I get the following error

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

Help.

+4  A: 

Single quotes inhibit expansion:

var = 'pas$wd';
Ignacio Vazquez-Abrams
+13  A: 

You can use single-quoted strings :

$var = 'pas$wd';

This way, variables won't be interpolated.


Else, you can escape the $ sign, with a \ :

$var = "pas\$wd";


And, for the sake of completness, with PHP >= 5.3, you could also use the NOWDOC (single-quoted) syntax :

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


As a reference, see the Strings page of the PHP manual (quoting a couple of sentences) :

Note: [...] variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.

And :

If the string is enclosed in double-quotes ("), PHP will interpret more escape sequences for special characters:
\$ : dollar sign

Pascal MARTIN
+3  A: 

Double quotes enable variable interpolation. So if you are using double quotes, you need to escape the $ else you can use single quote which do not do variable interpolation.

$ var = "pas\$wd";

or

$ var = 'pas$wd';
codaddict
+2  A: 
$var = 'pas$wd';
$var = "pas\$wd";
kpower
+2  A: 
Use the following code 
$var='pass$wd'
muruga