-1

可能重复:
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 %

但不知道如何...

4

3 回答 3

2

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

您应该通过 javascript 转换您的数据。

${savings_percentage.toFixed(2)} 

您可以使用本机.toFixed方法或使用一些帮助器(例如参见这个问题

于 2012-10-27T18:34:08.050 回答
1

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

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

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

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

于 2012-10-27T18:12:58.227 回答
0

${变量} 语法

除非这是在双引号字符串中,否则这与$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 中查找它们的含义是不合逻辑的。它们只是纯文本,并且如脚本标记所示 - 它们旨在与(已失效jquery tmpl函数一起使用。

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

好吧,修复您没有提出问题的js,以便它这样做:)

于 2012-10-27T18:26:17.507 回答