2015-06-09 27 views
0

我尝试添加到下面的代码if语句:PHP:如果语句不加载

for($i=0;$i<count($lines);$i++) 
    { 
     $line = explode(',', $lines[$i]); 
     if(trim($line[1])!='') 
     { 
      $csv_content .= trim($line[1]) . ';'; 
      $csv_content .= (intval(trim($line[8])) < 0 ? "0" : trim($line[8])) . ';'; 
      $csv_content .= twoDecs(trim($line[6])) . ';'; 
      $csv_content .= twoDecs(trim($line[7])) . ';'; 
      $csv_content .= '1' . ' 
'; 
      } 
      unset($line); 
     } 

我已经更改为:

for($i=0;$i<count($lines);$i++) 
    { 
     $line = explode(',', $lines[$i]); 
     if(trim($line[1])!='') 
     { 
      $csv_content .= trim($line[1]) . ';'; 
      if(trim($line[1]) = 'XXXX') {$csv_content .= "10" . ';'; } 
       else 
       {$csv_content .= (intval(trim($line[8])) < 0 ? "0" : trim($line[8])) . ';'; 
       } 
      $csv_content .= twoDecs(trim($line[6])) . ';'; 
      $csv_content .= twoDecs(trim($line[7])) . ';'; 
      $csv_content .= '1' . ' 
'; 


} 
     unset($line); 
    } 

所以,如果1号线的Vaule是“ XXXX“的下一行应该是”10“,如果没有运行$csv_content .= (intval(trim($line[8])) < 0 ? "0" : trim($line[8])) . ';';而不是

但是页面没有加载,显然我得到了一些错误,有人可以指向正确的方向吗?

回答

1

使用==运算符来检查值是否相等:我在你的if语句中修复了这个问题。另外,尽量保持代码的整洁和格式化,这会让你更容易发现像这样的简单错误。

for($i=0; $i < count($lines); $i++) { 
    $line = explode(',', $lines[$i]); 
    if(trim($line[1]) != '') { 
     $csv_content .= trim($line[1]) . ';'; 
     if(trim($line[1]) == 'XXXX') { 
      $csv_content .= "10" . ';'; 
     } else { 
       $csv_content .= (intval(trim($line[8])) < 0 ? "0" : trim($line[8])) . ';'; 
     } 
     $csv_content .= twoDecs(trim($line[6])) . ';'; 
     $csv_content .= twoDecs(trim($line[7])) . ';'; 
     $csv_content .= '1' . ''; 
    } 
unset($line); 
} 
+0

谢谢,我确实有过,但没有奏效。页面加载好,但在输出“xxxx”有0而不是10。谢谢 – PaddyD