我试图在if语句下面添加代码:
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);
}
因此,如果Line1的Vaule是&#34; XXXX&#34;下一行应为&#34; 10&#34;,如果不是行$csv_content .= (intval(trim($line[8])) < 0 ? "0" : trim($line[8])) . ';';
而不是
但页面没有加载,显然我出错了,有人能指出我正确的方向吗?
答案 0 :(得分: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);
}