繁体   English   中英

打印出修改过的文件的内容

[英]print out the content of a modified file

我在php中输出修改过的文件有问题,这是我的代码:

<?php
$content = file_get_contents("1.txt");
$items = explode("\n",$content);
$line = ""; 
foreach ($items as $item){
$values = explode(",",$item);
foreach ($values as &$value){
    $key = array_search($value,$values);
    if ($key!=4){
        $line .= $value.",";
    }
    elseif ($value=="0"){
        $value="?";
        $line .= $value."\n";
    }
    else $line .= $value."\n";
}
}
$file = fopen("1.txt","w");
fwrite($file,$line);
fclose($file); 
?>

1.txt中的原始内容是

1,1,1,1,1
2,2,2,2,0

期望的输出是

1,1,1,1,1
2,2,2,2,?

但是,当我运行脚本时,我得到了这个:

1,1,1,1,1,2,2,2,2,?
,

我的脚本有什么问题? 非常感谢!

您没有正确连接\\n行。 这是我的位修改功能:

$content = '1,1,1,1,1
2,2,2,2,0';

$lines = explode("\n", $content);

$modLines = array();

foreach ($lines as $line)
{
    $values = explode(',', $line);

    foreach($values as &$value)
    {
        # Do here what ever you want to
         if($value == '0')
        $value = '?';
    }

    $modLines[] = implode(',', $values);

}

$content = implode("\n", $modLines);

echo $content;

返回

1,1,1,1,1
2,2,2,2,?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM