我有这个字符串内容的数据库:
[$3] [$ 3] [$3.2]
需要按原样呼应它。
尝试回声时
echo "[$3] [$ 3] [$3.2]";
得到这个:
[] [$ 3] [.2]
尝试了urlencode,htmlspecialchars,但没有成功。
我如何回显并得到这个?
[$3] [$ 3] [$3.2]
编辑:
单引号没有给出想要的结果。
echo '[$3] [$ 3] [$3.2]';
[] [$ 3] [.2]
我的php版本是5.2.14,我正在使用Joomla。
编辑2:
我想通了,它不能使用单引号的原因是因为Joomla + Jumi。如果我使用纯 php - 它可以正常工作。
如果不希望对变量值进行插值,请使用单引号。
从 PHP 手册:
注意:与双引号和 heredoc 语法不同,特殊字符的变量和转义序列在单引号字符串中出现时不会扩展。
echo '[$3] [$ 3] [$3.2]';
对于这种特殊情况,引号应该无关紧要,因为 PHP 变量不能以数字开头。
例如:
echo '[$3] [$ 3] [$3.2]'; // single-quoted
将具有与以下相同的效果:
echo "[$3] [$ 3] [$3.2]"; // double-quoted
两者都应该输出:
[$3] [$ 3] [$3.2]
但是,对于有效变量,上述规则适用。
例:
$var = 'foo';
$string = 'this is a string with $var';
echo $string;
输出:
this is a string with $var
演示!
在双引号中,PHP 将以 $
开头的任何内容解释为变量,并尝试输出 $3
的内容。
当您不希望出现这种行为时,只需使用单引号:
echo '[$3] [$ 3] [$3.2]';
单引号字符串中没有解释的变量。双引号字符串可以。
此外,双引号字符串可以包含不带反斜杠的撇号,而单引号字符串可以包含未转义的引号。
单引号字符串在运行时速度更快,因为它们不需要解析。
试试这个
echo '[$3] [$ 3] [$3.2]';
详情请点击此处 http://php.net/manual/en/language.types.string.php