0

好的,不知道如何谷歌这个所以我很友好地问一个可能很愚蠢的问题,但为什么这段代码不起作用?大声笑变量在 $menu 变量之外正确显示,但是当我尝试输出 $menu 的内容时,它显示字面上的“$online”文本。

$menu = '
<div id="service_info">
    <span id="service_availability">Availability</span>
    <li class="availability_$Online">Online</li>
    <li class="availability_$InPerson">In Person</li>
    <li class="availabilit_no">Over the Phone</li>
</div>
';
4

4 回答 4

2

嗯,我经常用

$menu = <<<EOD
<div id="service_info">
    <span id="service_availability">Availability</span>
    <li class="availability_$Online">Online</li>
    <li class="availability_$InPerson">In Person</li>
    <li class="availabilit_no">Over the Phone</li>
</div>
EOD;

这只是看起来更干净。

于 2012-06-18T10:35:31.760 回答
2

仅针对这些情况有一个特殊的字符串语法:HEREDOC

$menu = <<<MENU
<div id="service_info">
    <span id="service_availability">Availability</span>
    <li class="availability_$Online">Online</li>
    <li class="availability_$InPerson">In Person</li>
    <li class="availabilit_no">Over the Phone</li>
</div>
MENU;

顺便说一句,我真的建议研究所有链接的页面。)

于 2012-06-18T10:36:11.913 回答
2

使用双引号。单引号中无法识别变量。

$menu = "
<div id=\"service_info\">
    <span id=\"service_availability\">Availability</span>
    <li class=\"availability_$Online\">Online</li>
    <li class=\"availability_$InPerson\">In Person</li>
    <li class=\"availabilit_no\">Over the Phone</li>
</div>
";

仅当您断开字符串时,才能使用单引号显示变量:

$menu = '
<div id="service_info">
    <span id="service_availability">Availability</span>
    <li class="availability_'.$Online.'">Online</li>
    <li class="availability_'.$InPerson.'">In Person</li>
    <li class="availabilit_no">Over the Phone</li>
</div>
';
于 2012-06-18T10:26:56.023 回答
0

我只想提出一个建议,因为您似乎已经找到了解决方案。如果不需要在 php 变量中存储 html 标签,请在 html 中包含 php 变量。

**<div id="service_info"> <span id="service_availability">Availability</span> <li class="availability_<?php echo $Online; ?>">Online</li> <li class="availability_<?php echo $InPerson;?>">In Person</li> <li class="availabilit_no">Over the Phone</li> </div>**

于 2012-06-18T10:40:33.147 回答