什么是{}标签在PHP中做什么?

可能重复:
字符串中的大括号

刚刚遇到这段代码,它让我好奇......

$msg .= "–{$mime_boundary}–n";   

前面指定了$ mime_boundary var作为字符串输出。

做了一个快速测试....

$var = "XmytextX";
$str ="some wrapper{$var}end of";
echo $str; 

它确实输出到字符串中。 我从来没有见过这种输出var的方式。

找不到任何文档 - 任何人都可以启发我吗?


因此,通常情况下,您可以使用双引号输出任何变量,如下所示:

echo "Hello, $name";

但是,如果你想在一个数组中输出一个项目呢?

echo "Hello, $row['name']";

那不行。 所以,你可以用大括号括起来告诉编译器插入整个变量:

echo "Hello, {$row['name']}";

在该说明中,您还可以将其与对象一起使用:

echo "Hello, {$row->name}";

希望有所帮助!


它被称为变量插值。 事实上,你根本不需要{} 。 这也将起作用:

echo "The value of my var is $var";

但是,如果您需要一个更复杂的变量来输出它,有时只适用于{} 。 例如:

echo "This is a {$very['long']['and']['complex']['variable']}";

另请注意,变量插值仅适用于带双引号的字符串! 所以这是行不通的:

echo 'this is my $var';
// outputs: this is my $var

大括号从文本的其余部分设置了一个变量名,可以避免使用空格。

例如,如果您删除了大括号,则PHP引擎在以下语句中不会将$mime_boundary识别为变量:

$msg .= "–$mime_boundary–n";

通过将变量封装在大括号中,可以告诉PHP引擎处理该变量并返回其值。

链接地址: http://www.djcxy.com/p/59527.html

上一篇: Whats the {} tag do in php?

下一篇: PHP: Is there a difference between {$foo} and ${foo}