Reputation: 22901
I try to use single quotes as much as possible and I've noticed that I can't use \n in single quotes. I know I can just enter a newline literally by pressing return, but that screws up the indentation of my code.
Is there some ASCII character or something that I can type that will produce newline when I'm using single quotes?
Upvotes: 140
Views: 326110
Reputation: 1739
I wonder why no one added the alternative of using the function chr()
:
echo 'Hello World!' . chr(10);
or, more efficient if you're going to repeat it a million times:
define('C_NewLine', chr(10));
...
echo 'Hello World!' . C_NewLine;
This avoids the silly-looking notation of concatenating a single- and double-quoted string.
Upvotes: 12
Reputation: 487
in case you have a variable :
$your_var = 'declare your var';
echo 'i want to show my var here'.$your_var.'<br>';
Upvotes: 0
Reputation: 38298
FYI it is possible to get newlines into strings without double quotes:
printf('Please%1$sgive%1$sme%1$snewlines%1$s', PHP_EOL);
Which may be useful If your irrational fear of double quotes knows no bounds. Though I fear this cure may be worse than the disease.
Upvotes: 23
Reputation: 6896
echo 'hollow world' . PHP_EOL;
Use the constant PHP_EOL then it is OS independent too.
Upvotes: 128
Reputation: 798536
No, because single-quotes even inhibit hex code replacement.
echo 'Hello, world!' . "\xA";
Upvotes: 163
Reputation: 89
There IS a difference on using single VS double quotes in PHP
e.g:
1. echo '$var\n';
2. echo "$var\n";
$var\n
$var
, and return the value in that location, also, it will have to parse the \n as a new line character and print that resultWe're in the range of millionths of a second, but there IS a difference in performance. I would recommend you to use single quotes whenever possible, even knowing you won't be able to perceive this performance increase. But I'm a paranoid developer when it comes to performance.
Upvotes: 8
Reputation: 166046
The only escape sequence you can use in single quotes is for the single quote itself.
$foo = 'That\'s great';
The only way you could insert a new line into a string created with single quotes is to insert a literal newline
$bar = 'That\'s
cheating';
Upvotes: 9
Reputation: 157839
No, according to documentation, PHP recognize no special symbol in single quotes. And there is no single reason to use single quotes as much as possible
Upvotes: 0
Reputation: 4043
You may want to consider using <<<
e.g.
<<<VARIABLE
this is some
random text
that I'm typing
here and I will end it with the
same word I started it with
VARIABLE
More info at: http://php.net/manual/en/language.types.string.php
Btw - Some Coding environments don't know how to handle the above syntax.
Upvotes: 3
Reputation: 91776
If you are echo
ing to a browser, you can use <br/>
with your statement:
echo 'Will print a newline<br/>';
echo 'But this wont!';
Upvotes: 31