PHP循环错误

时间:2013-01-29 04:12:51

标签: php arrays loops if-statement while-loop

任何人都可以帮我找到这段代码中的错误。当我尝试运行时,它说有一个意想不到的';'在第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 ;

?>`  

3 个答案:

答案 0 :(得分: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。

答案 1 :(得分:1)

似乎代码中存在太多错误/错误。

首先使For循环而不是while

比你在下面的行中遗漏.

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

你在所有条件下都做错了,因为它应该是,

if ($i == 0) { 

应该是==&amp;不只是=

答案 2 :(得分:0)

这是错误的:

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

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

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