0

谁能帮我找出这段代码中的错误。当我尝试运行它时,它说有一个意外的';' 在第 10 行,但我不确定这会在哪里。谢谢`

$lines = array (
    0=>'Once upon a time',
    1=>'There lived a small green frog that lived',
    2=>'on a lilypad in a pond. ',
    3=>'One day a princess came along and kissed it.'
);

$max = count($lines) ;
$out = null ;
while ($i = 0; $i<$max;  $i++) {
    $opentag = '' ;
    $closetag = '' ;

    if ($i = 0) {
        $opentag = '<h1>' ;
        $closetag = '</h1>' ;
    }
    if ($i = 1 )     {
        $opentag = '<p>' ;
    }
    if ($i = ($max-1) )     {
        $closetag = '</p>' ;
    }

    $out = $opentag . $lines[$i] $closetag  ;

}
echo $out ;

?>`  
4

3 回答 3

2

上面的代码有多个错误:

首先,您for在循环中使用条件while,因此您需要使用:

for ($i = 0; $i<$max;  $i++) {
}

接下来,在这一行:

$out = $opentag . $lines[$i] $closetag  ;

你缺少一个.介于$lines[$i]和之间$closetag

您还在if语句中使用了不正确的运算符。

==比较语句,如果相等则返回 true,如果不相等则返回 false。

=设置左侧等于右侧

if($i = 1){}

$i以上将在设置为 1时返回 true 。

于 2013-01-29T04:20:19.823 回答
1

似乎您的代码中有太多错误/错误。

首先让它For循环while

.比你在下面的行中缺少的,

$out = $opentag . $lines[$i] . $closetag;
                             ^   

此外,您在所有情况下都做错了,因为它应该是,

if ($i == 0) { 

它应该是==& 而不仅仅是=.

于 2013-01-29T04:14:44.833 回答
0

这是错误的:

while ($i = 0; $i<$max;  $i++) {

请检查 while 语法。我认为你需要在for那里使用。

for($i = 0; $i<$max;  $i++) {
于 2013-01-29T04:17:31.213 回答