变量的PHP echo替换 - $ {variable}

时间:2012-10-27 17:40:06

标签: php echo

  

可能重复:
  Curly braces in string in PHP

我遇到了一些“奇怪的”PHP代码,所以不是这样:

<?php echo $variable; ?>

我有这个:

${variable}

我无法了解如何将其变为变量:

<?php echo number_format($variable, 2, ',', '.') ?>

有什么想法吗?

感谢。

编辑:这是实际代码:

<script id="productTemplate" type="text/x-jquery-tmpl">
                <?php echo "Save:"; ?> ${savings} <?php echo "or"; ?> ${savings_percentage} <?php echo "%"; ?>
</script>

这个输出:

Save 15 or 3.2302678810608 %

我需要将 number_format 添加到 $ {savings_percentage} ,以便输出:

Save 15 or 3.23 %

但不知道如何......

3 个答案:

答案 0 :(得分:2)

您正在使用名为TMPL的jquery插件(现在不支持)。

您应该通过javascript转换数据。

${savings_percentage.toFixed(2)} 

您可以使用原生.toFixed方法或使用某个帮助程序(请参阅例如this question

答案 1 :(得分:1)

这不是PHP变量。这是模板引擎变量或类似于用JavaScript编写的脚本的一部分。

其外部PHP脚本(由<?php ?>定义)。

阅读模板引擎或该脚本手册以获取更多信息。

无法从PHP 访问它,因为在服务器将html页面发送到浏览器之后,这是由客户端计算机上的JavaScript处理的。 PHP在服务器上处理,你不能直接在浏览器和PHP代码之间传递变量。

答案 2 :(得分:0)

$ {variable} syntax

除非它在双引号字符串中,否则与$variable

相同

双引号字符串

在双引号字符串中,您将使用此语法,例如,变量名称将被误解。

即。这里有一些代码回显了一个名为$variable的变量:

$variable = "something";
echo "This is a string with a $variable";
// outputs "This is a string with a something"

这是相同的代码,但在这种情况下,变量后面紧跟着字符串“name”:

echo "This is a string with a $variablename";
// outputs "This is a string with a "

除了'错误'输出外,它还会抛出一个未定义的变量错误,因为$variablename未定义。

这是相同的例子,使用花括号来明确变量是什么:

$variable_name = "something";
echo "This is a string with a ${variable}name";
// outputs "This is a string with somethingname"

模板引擎

从你的编辑:

<script id="productTemplate" type="text/x-jquery-tmpl">
    <?php echo "Save:"; ?> ${savings} <?php echo "or"; ?> ${savings_percentage} <?php echo "%"; ?>
</script>

这里的变量不在php标签中,所以在php-context中查找它们的含义是不合逻辑的。它们只是纯文本,并且如脚本标记所示 - 它们旨在与(defunctjquery tmpl函数一起使用。

  

我需要将number_format添加到$ {savings_percentage},以便输出:

好吧,修复你没有提到问题的js,这样做:)