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 中的 标签有啥作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
.col-form-label 类对引导程序中的标签有啥作用?