语法错误让我发疯

时间:2017-10-31 20:56:14

标签: php

我尝试编写一个从数字10开始并以1结尾的代码,每个奇数加1到数字,每个偶数从数字中减去1。代码在没有"<br />"的情况下工作但没有它我的数字都在同一行,我使用phpfiddle。当我尝试使每个数字都有自己的行时,会出现语法错误。请帮助我疯了。我也是php和编码的新手,所以请把它弄清楚,这样我才能理解大声笑。

以下是代码:

<?php
for($i = 10; $i >= 1; $i--) {
    if($i%2 >0) {
        echo $i+1. "<br />" ;
    else {
        echo $i-1. "<br />" ;
    } 
?>

2 个答案:

答案 0 :(得分:2)

这是你的代码,但随后是结束括号和字符串连接之间的空格...不确定代码的结果是你正在寻找的,但它运行

<?php
for($i = 10; $i >= 1; $i--) {
    if($i%2 >0) {
    echo $i+1 . "<br />" ;
    } else {
    echo $i-1 . "<br />" ;
    }
} 
?>

答案 1 :(得分:1)

那是因为1.是有效的浮点数(数字),请看:

var_dump(1.);

输出:

float(1)

在一个数字后跟一个点后,PHP引擎需要另一个数字(精度,除非它是实际语句的结尾)。你改写了一个字符串。这是一个无效的语言结构,导致unexpected (T_CONSTANT_ENCAPSED_STRING)解析错误。

下次回复时不要连接任何内容,而是使用,代替(实际上更快):

for ($i = 10; $i >= 1; $i--) {
    if ($i%2 >0) {
        echo $i+1 , "<br />" ;
    } else {
        echo $i-1 , "<br />" ;
    }
}