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

iht*_*tus 1 php joomla jumi

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

[$3] [$ 3] [$3.2]
Run Code Online (Sandbox Code Playgroud)

需要回应它原样.

当试图回声

echo "[$3] [$ 3] [$3.2]";
Run Code Online (Sandbox Code Playgroud)

明白啦:

[] [$ 3] [.2]
Run Code Online (Sandbox Code Playgroud)

尝试了urlencode,htmlspecialchars,但没有成功.

我如何回应并得到这个?

[$3] [$ 3] [$3.2]
Run Code Online (Sandbox Code Playgroud)

编辑:

单引号并没有给出想要的结果.

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

[] [$ 3] [.2]
Run Code Online (Sandbox Code Playgroud)

我的php版本是5.2.14,我正在使用Joomla.

EDIT2:

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

Ama*_*ali 6

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

PHP手册:

注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中出现时不会扩展.

echo '[$3] [$ 3] [$3.2]';
Run Code Online (Sandbox Code Playgroud)

引号对于这种特殊情况无关紧要,因为PHP变量不能以数字开头.

例如:

echo '[$3] [$ 3] [$3.2]'; // single-quoted
Run Code Online (Sandbox Code Playgroud)

将具有与以下相同的效果:

echo "[$3] [$ 3] [$3.2]"; // double-quoted
Run Code Online (Sandbox Code Playgroud)

两者都应该输出:

[$3] [$ 3] [$3.2]
Run Code Online (Sandbox Code Playgroud)

但是,对于有效变量,以上规则适用.

例:

$var = 'foo';
$string = 'this is a string with $var';
echo $string;
Run Code Online (Sandbox Code Playgroud)

输出:

this is a string with $var
Run Code Online (Sandbox Code Playgroud)

演示!