我正在学习使用PHP编程,并且了解到可以通过不同的方法用文本打印变量,但是我有一个问题:
PHP中的echo $var1 . ' ' . $var2
和echo "{$var1} {$var2}"
有什么区别?以及使用什么?
我不明白我们为什么要使用大括号,即使这是另一种方法,两者之间也有什么区别。
谢谢!
答案 0 :(得分:1)
根据您的评论:
不,我知道双引号和单引号之间的区别,我只是不明白为什么我需要使用大括号
您不需要“ 需要 ”大括号,但它们可以帮助您读取插值的字符串。
请不要在您的代码中执行此操作,但请考虑:
<?php
$hi = 'h';
$hii = 'sh';
echo "$hiie";
您得到hie
或she
的结果吗?
答案:都不会,
通知:未定义的变量:hiie
要解决此问题,则需要明确使用以下几行之一:
echo "{$hi}ie"; // hie
echo "{$hii}e"; // she
答案 1 :(得分:1)
第一种方法是串联方法,很简单。
第二种方法:
您可以在双引号内打印变量,例如
echo " $var1 $var2 ";
但是,如果您想直接在变量之前或之后黑白打印某些东西,该怎么办?例如:
echo " $var1SomeOtherTextNotFromVariable$var2SomeMoreText ";
PHP将假定所有文本均为变量,直到达到另一个$。
为了解决这个问题,您需要告诉PHP变量在哪里开始和结束。例如:
echo " {$var1}SomeOtherTextNotFromVariable{$var2}SomeMoreText ";
注意 请查看 Progrock的答案,以获得使用花括号的另一个好处。
答案 2 :(得分:1)
(不是答案,但值得考虑。)
如果要处理数组,则曲线很有用:
$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 ...