#php
#php
Вопрос:
У меня возникла проблема с выводом измененного файла на php, вот мой код:
<?php
$content = file_get_contents("1.txt");
$items = explode("n",$content);
$line = "";
foreach ($items as $item){
$values = explode(",",$item);
foreach ($values as amp;$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,?
,
В чем проблема моего скрипта? Большое спасибо!
Комментарии:
1. 1 для Robik, в любом случае, я только что протестировал ваш оригинальный скрипт, и у меня он отлично работает. Может быть, вы хотите прочитать go4expert.com/forums/showthread.php?t=8021
Ответ №1:
Вы неправильно соединяете строки с 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 amp;$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,?