【问题标题】:PHP While Loop Errors [closed]PHP While循环错误[关闭]
【发布时间】:2013-01-12 14:07:16
【问题描述】:

谁能帮我找出这段代码中的错误。当我尝试运行它时,它说有一个意外的';'在第 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 ;

?>`  

【问题讨论】:

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


    【解决方案1】:

    以上代码有多个错误:

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

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

    接下来,在这一行:

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

    您在$lines[$i]$closetag 之间缺少.

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

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

    =设置左侧等于右侧

    if($i = 1){}
    

    在将$i 设置为 1 时,上述内容将返回 true。

    【讨论】:

      【解决方案2】:

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

      首先让它For循环而不是while

      比你在下面的行中缺少.

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

      而且你在所有条件下都做错了,因为它应该是这样的,

      if ($i == 0) { 
      

      应该是== 而不仅仅是=

      【讨论】:

      • OP,确保更正所有 if 语句以包含双等号,而不仅仅是提到的那个。
      【解决方案3】:

      这是错误的:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 2016-03-14
        相关资源
        最近更新 更多