2

乱数を含むファイルを作成します。

<?php
$file = 'test.txt';
for ($i=1; $i<=100; $i++) {
$rand_num = rand(10000,20000);
file_put_contents($file, $rand_num . PHP_EOL, FILE_APPEND);
}
?>

次に、「ファイル」を使用してファイルからデータを読み取り、各行を操作します (ここのコードには含まれていません)。ファイルにデータを再度入れると、$value の後に改行があります。

<?php
$file = 'test.txt';
$fp = fopen($file, 'rb');
$content = file($file);
file_put_contents($file, '');
foreach ($content as $value){
file_put_contents($file, $value . PHP_EOL, FILE_APPEND);
}
?>

私に与える代わりに:

190191
920191
829281

それは私に与えます:

190191

920191

829281

次のようなことをすると: $processed_line = "$value is good";

次のように表示されます。

190191
value is good
920191
value is good
829281
value is good

$value-190191 の横に文字列を配置する代わりに良いです。

何か案が?小さくてばかげた何かが欠けているように感じます。ありがとう。

4

2 に答える 2

1

デフォルトでは、テキスト ファイル内の行は改行が付加された状態で取得されます。内部にforeach別のものを追加するため、空の行が追加されます。

FILE_IGNORE_NEW_LINESフラグを使用してfile()、各配列要素から改行を除外できます。

$content = file($file, FILE_IGNORE_NEW_LINES);
于 2013-10-23T02:11:18.233 に答える
1

$value = trim($value, "\r\n");ループの最初の行として使用する

問題は、値の最後にすでに\nシンボルがあるためです

于 2013-10-23T02:06:34.597 に答える