php 中的 标签有啥作用? [复制]

Posted

技术标签:

【中文标题】php 中的 标签有啥作用? [复制]【英文标题】:Whats the tag do in php? [duplicate]php 中的 标签有什么作用? [复制] 【发布时间】:2011-09-29 16:47:05 【问题描述】:

可能重复:curly braces in string

刚刚看到这段代码,我很好奇……

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

$mime_boundary 变量之前被指定为字符串输出。

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

$var = "XmytextX";
$str ="some wrapper$varend of";
echo $str; 

它确实输出到字符串中。我以前从未见过这种输出 var 的方式。

找不到任何文档 - 谁能启发我?

【问题讨论】:

此问题已在另一篇文章中得到解答。链接如下:点击以下链接:***.com/questions/2596837/curly-braces-in-string 想想如果不使用php 将如何看到您的“快速测试”:...wrapper$varend of。如果您没有名为 $varend 的变量,您只会得到 ... wrapper of 【参考方案1】:

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

echo "Hello, $name";

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

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

那是行不通的。因此,您可以将变量括在大括号中,以告诉编译器 interpolate 整个变量:

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

注意,您也可以将它与对象一起使用:

echo "Hello, $row->name";

希望有帮助!

【讨论】:

每天学习新东西!非常感谢并非常感谢所有其他受访者(这很容易吧?) 我认为这个答案更好地解释了它:***.com/questions/2596837/curly-braces-in-string/…【参考方案2】:

这称为变量插值。事实上,你根本不需要 var 周围的 。这也可以:

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

【讨论】:

【参考方案3】:

花括号将变量名称与文本的其余部分隔开,从而避免使用空格。

例如,如果您删除了花括号,PHP 引擎将无法将$mime_boundary 识别为以下语句中的变量:

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

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

【讨论】:

这种特殊情况真的很愚蠢,因为在变量名中找不到-【参考方案4】:

这是为了消除歧义:在你的例子中,如果你写了 "some wrapper $vared of",很明显 PHP 会尝试把 $vared 的值放在那里,这不是你想要的。

【讨论】:

【参考方案5】:

花括号让您指定应插入字符串的哪一部分。

考虑$str ="some wrapper$varend of"; 诗句$str ="some wrapper$varend of";

它们还允许您将数组元素和类变量直接插入到字符串中

$str = "foobar $foo['bar']"; // parse error
$str = "foobar $foo['bar']";
$str = "this is my $foo->bar[1]";

【讨论】:

【参考方案6】:

与变量插值有关。

This is explained in the manual(在“复杂(卷曲)语法”下)。我很好奇如果你在 PHP 中工作,为什么你还没有阅读它。

【讨论】:

我从来没有使用 PHP 那样输出变量。 Tbh 我不是特别喜欢这种方法 - 我更喜欢使用 .连接,因为我可以清楚地看到我在哪里有哪些变量 @Doug:我也更喜欢串联,主要是出于同样的原因。我并不像最懒惰的插值方法 ("lol $cats hi mom!!1") 那样介意卷曲语法,因为它更明确,而且我的语法荧光笔可以处理它。【参考方案7】:

如果您查看http://php.net/manual/en/language.types.string.php,您会发现它只是在字符串中嵌入变量的另一种方式,它只允许您定义变量的结尾在哪里。

例如:

$var = "Animal"
echo "The $vars"; //Outputs "The Animals"

【讨论】:

以上是关于php 中的 标签有啥作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

HTML中的span标签到底是啥意思,有啥具体的作用

PHP 中的“->”有啥作用? [复制]

.col-form-label 类对引导程序中的标签有啥作用?

PHP 中的@ 字符有啥作用? [复制]

face-config.xml 文件中的 <managed-bean-scope> 标签有啥用? [复制]

在HTML语言中object标签有啥作用??