PHP解析错误:语法错误,意外''',期待','或';'在file.php中

时间:2011-10-19 17:52:54

标签: php concatenation

我有这段代码:

$numPage = 10;
for($i = 0; $i < $numPage; $i++) {
 echo "Current Page: ".$i+1."/$numPage<br>";

}

为什么我收到此错误:

Parse error: syntax error, unexpected '"', expecting ',' or ';' on line 4

我在字符串之外正确连接,我做错了什么?感谢

7 个答案:

答案 0 :(得分:3)

只需添加parantheses:echo "Current Page: ".($i+1)."/$numPage<br>";

答案 1 :(得分:3)

特例。 tokenizer 期望浮点常量:

 +1."

这不是一个和串联点,而是作为1.003的前导1.例如。
 请注意,如果您写了:

,则不需要任何空格或额外的空格
 echo "Current Page: ".$i+1.0."/$numPage<br>";

错误消息有点误导。


注意,这只是避免了解析错误。这可能仍会导致无效结果。

答案 2 :(得分:3)

+.具有相同的运算符优先级,并且在PHP中保持关联,因此PHP将其解释为:

echo (("Current Page: ".$i)+1)."/$numPage<br>";

你想要的是:

echo "Current Page: ".($i+1)."/$numPage<br>";

或者:

echo "Current Page: ", $i+1, "/$numPage<br>";

答案 3 :(得分:2)

检查“1”它可能将它视为浮子。使用($ i + 1)代替。

答案 4 :(得分:0)

对连接进行间隔似乎有效。

<?php
$numPage = 10;
for($i = 0; $i < $numPage; $i++) {
 echo "Current Page: " . $i+1 . "/$numPage<br>";

}
?>

答案 5 :(得分:0)

这样写:

$numPage = 10;

for($i = 0; $i < $numPage; $i++)
{
    echo "Current Page : " . ($i + 1) . " " . $numPage . "<br />";
}

答案 6 :(得分:0)

试试这个:

echo "Current Page: ".($i+1)."/$numPage<br>";

操作顺序不仅适用于数学,也适用于编程。你的代码说:

  1. $i附加到字符串
  2. 然后添加1,将字符串转换为整数(0)并生成整数(1)
  3. 然后您尝试将字符串连接到整数(1)