我可以使用单引号回显一个variables吗?
我可以使用单引号与variables回声吗?
例
echo 'I love my $variable.';
我需要这样做,因为我有很多的HTML回声太。
您必须使用:
echo 'I love my ' . $variable . '.';
此方法将variables附加到string。
或者你可以使用:
echo "I love my $variable.";
注意这里使用的双引号 !
如果有很多文本,请查看Heredoc语法。
$var = <<<EOT <div style="">Some 'text' {$variable}</div> EOT;
该文件说:
注意:与双引号和heredoc语法不同 ,特殊字符的variables和转义序列在单引号string中不会被展开。
所以答案是否定的,不是这样的。
解决scheme很简单:
不要echo
HTML。
只要你不创build像部分视图或东西† ,没有理由来回显HTML。 将PHPembedded到HTML中:
<div class="foo"> <span><?php echo $value; ?></span> </div>
好处是:
- 不必记得逃避报价。
- 更容易维护HTML代码。
†:在这种情况下, heredoc
[docs]是最差的select。
编号variables(和特殊字符)只能在用双引号分隔的string中扩展。 如果你想在一个单引号分隔的string中包含一个variables,你必须连接它:
echo 'I love my '.$variable.'.';
如果您希望使用由双引号分隔的string,也可以使用HTML的双引号:
echo "<a href=\"$url\">$text</a>";
有关更多信息,请参阅关于string的PHP手册,特别是有关stringparsing的部分。
不会的'
不会分析variables。 使用
echo 'I love my '.$variable.'.';
要么
echo "I love my {$variable}. And I have \" some characters escaped";
不在string内,但可以退出string并连接variables。
echo 'I love my '.$variable.'.';
另一个select只是为了避免双引号。
echo "I love my \"$variable\".";
或者只是进出php来回显variables(虽然丑陋)。
I love my <?php echo $variable; ?>. With short tags enabled, I love my <?=$variable?>.
最后是heredoc格式,允许单引号和双引号以及variables。
echo <<<HTML I love my $variable. '"... HTML;
取自php.net:“注意:与双引号和heredoc语法不同,特殊字符的variables和转义序列在单引号string中不会被展开。
所以答案是不可以的。 但是你可以这样做:
echo 'I love my' . $variable . '.';
这样会更清洁。
除了其他用户提到的解决scheme(如string连接)之外,您可以使用以下占位符;
注意%s是用于string的。
$variable = 'what ever'; printf('The $variable is %s', $variable);
使用转义单引号将文本string包围为:
variable='my dog' echo \''I love ' $variable\'
=>'我爱我的狗'
或者简单的方法:
awk "\$1 < $variable"