Подтвердить что ты не робот

В чем разница между "и" в PHP?

Возможный дубликат:
PHP: разные кавычки?

Простой вопрос:

В чем разница между "и" в php? Когда я должен использовать либо?

4b9b3361

Ответ 1

В принципе, строки с одним кавычком представляют собой обычный текст практически без специального случая, тогда как строки с двойными кавычками имеют переменную интерполяцию (например, echo "Hello $username";), а также экранированные последовательности, такие как "\n" (новая строка.)

Подробнее о строках вы можете узнать в руководстве PHP.

Ответ 2

Есть 3 синтаксис, используемый для объявления строк, в PHP <= 5.2:

С одинарными кавычками:

и escape-последовательности для специальные символы не будут расширен

Например:

echo 'Variables do not $expand $either';

Будет выводиться:

Variables do not $expand $either


С двойными кавычками:

Самая важная особенность строки с двойными кавычками - это тот факт, что имена переменных будут расширены.

Например:

$a = 10;
echo "a is $a";

Будет выводиться:

a is 10


И с помощью heredoc:

Текст Heredoc ведет себя точно так же, как строка с двумя кавычками, без двойные кавычки. Это означает, что котировки в heredoc не нужно быть бежал,

Например:

$a = 10;
$b = 'hello';

$str = <<<END_STR
a is $a
and "b" is $b.
END_STR;

echo $str;

Вы получите:

a is 10
and "b" is hello.

Ответ 3

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

$test = 'hello';
echo "this is a $test"; // returns this is a hello
echo 'this is a $test'; // returns this is a $test

Я бы сказал, используйте кавычки, если вам не нужны переменные внутри ваших строк.

Ответ 4

Разница заключается в том, что строки между двойными кавычками (") анализируются для замены переменных и escape-последовательности. Строки в одинарных кавычках (') не являются.

Итак, используя двойные кавычки ("), вы можете сделать:

$count = 3;
echo "The count is:\t$count";

который будет производить

The count is:<tab>3

То же самое в одинарных кавычках возвращает литеральную строку.

Кроме того, символы, которые должны быть экранированы. Если у вас есть строка вроде:

'John said, "Hello"'

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

Ответ 5

"интерпретирует escape-символы и переменные. 'также не делает.

Ответ 6

Одним словом: когда вы хотите использовать все свои специальные символы (например, \n), а переменные (например, $number) будут замечены и обработаны.