【发布时间】:2012-01-31 19:02:57
【问题描述】:
如何在下拉框的声明中放入带有操作的变量? 我有一个带有月份的下拉框,当用户选择 March 时,下面代码的结果是 2+1。我知道这是作为字符串函数处理的,但我不知道如何让 php 处理它,因为它会导致 3。
echo "<option value=\"$i+1\">$month[$i]</option>\n";
【问题讨论】:
标签: php
如何在下拉框的声明中放入带有操作的变量? 我有一个带有月份的下拉框,当用户选择 March 时,下面代码的结果是 2+1。我知道这是作为字符串函数处理的,但我不知道如何让 php 处理它,因为它会导致 3。
echo "<option value=\"$i+1\">$month[$i]</option>\n";
【问题讨论】:
标签: php
您可以将操作从引号中取出,以便按预期进行评估:
echo "<option value='" . ($i + 1) . "'>$month[$i]</option>\n";
【讨论】:
您不能在 PHP 双引号字符串中插入算术 - 您必须将其分解为串联的字符串或在 echo 语句之前进行数学运算。
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double
【讨论】:
您需要让 PHP 将 + 评估为运算符,而不是字符串的一部分:
echo "<option value=\"" . ($i+1) . "\">$month[$i]</option>\n";
双引号字符串中只有变量($foo,以$ 开头的任何内容)。您的代码中的内容是“打印$i 的值,然后打印字符串+1”。通过使用串联,echo 语句可以按字面意思解释$i+1,并将$i 加一。
【讨论】: