在PHP中打印变量这两种方法有什么区别?
Printing variables in PHP the difference between these two methods?
我正在 PHP 学习编程,我了解到我可以通过不同的方法用文本打印变量,但我有一个问题:
PHP中的echo $var1 . ' ' . $var2
和echo "{$var1} {$var2}"
有什么区别?使用什么?
我不明白为什么我们要使用大括号,即使是另一种方法,两者之间有什么区别。
谢谢!
根据您的评论:
No, I know the difference between double quotes and single quotes I just don’t understand why do I need to put curly brackets
你不需要“”大括号,但它们可以帮助阅读你的内插字符串。
请不要在您的代码中这样做,但请考虑:
<?php
$hi = 'h';
$hii = 'sh';
echo "$hiie";
结果是hie
还是she
?
答案:两者都不是,你得到
Notice: Undefined variable: hiie
要解决此问题,您需要使用以下行之一明确说明:
echo "{$hi}ie"; // hie
echo "{$hii}e"; // she
第一种方法是串联法,很简单。
第二种方法:
您可以在双引号内打印变量,例如
echo " $var1 $var2 ";
但是如果你想在变量之前或之后直接打印一些东西 b/w 怎么办。例如:
echo " $var1SomeOtherTextNotFromVariable$var2SomeMoreText ";
PHP 将假设所有文本都是可变的,直到达到另一个 $。
要解决这个问题,您需要告诉 PHP 变量在哪里开始和结束。例如:
echo " {$var1}SomeOtherTextNotFromVariable{$var2}SomeMoreText ";
备注
请查看 Progrock 的 答案以了解使用大括号的另一个好处。
(不是答案,但值得考虑。)
如果您处理数组,卷曲很有用:
$foo =
[
'name' => 'Foo',
'age' => 23
];
echo "Name: {$foo['name']}, Age: {$foo['age']}\n";
输出:
Name: Foo, Age: 23
如果省略卷曲,则会出现如下错误:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in ...
我正在 PHP 学习编程,我了解到我可以通过不同的方法用文本打印变量,但我有一个问题:
PHP中的echo $var1 . ' ' . $var2
和echo "{$var1} {$var2}"
有什么区别?使用什么?
我不明白为什么我们要使用大括号,即使是另一种方法,两者之间有什么区别。
谢谢!
根据您的评论:
No, I know the difference between double quotes and single quotes I just don’t understand why do I need to put curly brackets
你不需要“”大括号,但它们可以帮助阅读你的内插字符串。
请不要在您的代码中这样做,但请考虑:
<?php
$hi = 'h';
$hii = 'sh';
echo "$hiie";
结果是hie
还是she
?
答案:两者都不是,你得到
Notice: Undefined variable: hiie
要解决此问题,您需要使用以下行之一明确说明:
echo "{$hi}ie"; // hie
echo "{$hii}e"; // she
第一种方法是串联法,很简单。
第二种方法:
您可以在双引号内打印变量,例如
echo " $var1 $var2 ";
但是如果你想在变量之前或之后直接打印一些东西 b/w 怎么办。例如:
echo " $var1SomeOtherTextNotFromVariable$var2SomeMoreText ";
PHP 将假设所有文本都是可变的,直到达到另一个 $。
要解决这个问题,您需要告诉 PHP 变量在哪里开始和结束。例如:
echo " {$var1}SomeOtherTextNotFromVariable{$var2}SomeMoreText ";
备注 请查看 Progrock 的 答案以了解使用大括号的另一个好处。
(不是答案,但值得考虑。)
如果您处理数组,卷曲很有用:
$foo =
[
'name' => 'Foo',
'age' => 23
];
echo "Name: {$foo['name']}, Age: {$foo['age']}\n";
输出:
Name: Foo, Age: 23
如果省略卷曲,则会出现如下错误:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in ...