2009-09-09 5 views
16

Можно создать дубликат:
PHP: different quotes?В чем разница между 'и "в PHP

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

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

+7

Dupe: HTTP: // StackOverflow. com/questions/1318028/php-different-quotes – strager

+0

Перед отправкой нового вопроса, пожалуйста, найдите stackoverflow (searchbox находится в правом верхнем углу). – ChristopheD

+0

я сделал, фактически. видимо, недостаточно хорошо. спасибо – johnnietheblack

ответ

13

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

Вы можете узнать больше о строках в PHP's manual.

0

«интерпретирует управляющие символы и переменные. 'Не сделать что-либо.

1

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

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

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

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

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

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

'John said, "Hello"' 

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

2

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

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

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

0

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

18

Есть 3 syntax used to declare strings, в PHP < = 5.2:

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

переменные и экранирующие последовательности для специальных символов не будет расширил

Например:

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. 
Смежные вопросы