2016-08-18 3 views
0

Мне пришлось пройти тест по php, чтобы оценить мои знания в этой области. Будучи новичком на этом языке, было довольно вопросов довольно сложным.

Один из них должен был сказать, каков вывод echo '{$x}';? Поскольку я никогда не видел таких скобок за пределами вызовов функций, я понятия не имел.

Можете ли вы рассказать?

+5

Поскольку вы используете одинарные кавычки, это echo '{$ x}'. – Daan

+4

[Проверить это] (http://stackoverflow.com/questions/2596837/curly-braces-in-string-in-php) –

+1

Также проверьте разницу между одиночными кавычками и строками с двойными кавычками [PHP Dcs] (http://www.php.net/manual/en/language.types.string.php) –

ответ

2

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

$name = "bob"; 
echo "hello $name"; // hello bob 
echo 'hello $name'; // hello $name 

Я предполагаю, что они принимают на себя вы увидите фигурные скобки, которые используются для выделения переменной внутри строки и дать этот ответ, не глядя на котировки:

$place = 3; 
echo "you are {$place}rd in the line"; // you are 3rd in the line 
echo "you are $placerd in the line"; // error, $placerd is not defined 
echo 'you are {$place}rd in the line'; // you are {$place}rd in the line 
+0

поэтому '' вы {$ place} rd в строке "' равнозначно '' вы ". $ Place." Rd в строке "'? –

+0

Да, выход будет точно таким же. Фигурные фигурные скобки просто используются для разделения (изолировать) переменную PHP в строке двойной кавычки, поэтому в приведенном выше примере для разделения переменной ('$ place') из' 'rd' 'части строки –

1

При использовании одиночных кавычек (') - как в этом случае: echo '{$x}';, Переменная $x не влияет никак. Это означает, что все внутри одинарных кавычек будет интерпретироваться как строка и echo ed назад verbatim. Однако, если вы использовали двойные кавычки вместо одиночных кавычек, например: echo "{$x}";, это скорее приведет к оценке значения $x, и результатом будет echo ред. См. Documentation для получения дополнительной информации.

Смежные вопросы