美元符号和数字(Joomla + Jumi)

时间:2013-09-18 20:45:49

标签: php joomla jumi

我有这个字符串内容的数据库:

[$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。

EDIT2:

我发现,它不使用单引号的原因是因为Joomla + Jumi。如果我使用纯PHP - 它可以正常工作。

3 个答案:

答案 0 :(得分:6)

如果您不希望插值变量值,请使用单引号。

来自PHP manual

  

注意:与双引号和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

Demo!

答案 1 :(得分:1)

在双引号内,PHP将任何以$作为变量开头的内容解释,并尝试输出$3的内容。

如果您不想要这种行为,只需使用单引号:

echo '[$3] [$ 3] [$3.2]';

答案 2 :(得分:1)

单引号字符串中没有解释变量。双引号字符串。

另外,双引号字符串可以包含没有反斜杠的撇号,而单引号字符串可以包含未转义的引号。

单引号字符串在运行时更快,因为它们不需要解析。

试试这个

 echo '[$3] [$ 3] [$3.2]';

详情请http://php.net/manual/en/language.types.string.php