0

次のようなテキスト ファイルがあります。

Line one
Line two
Line three

私はそれを次のように変換したいと思います:

return array(
  'Line one',
  'Line two',
  'Line three'
);

そして、それを新しいファイルとして保存します。同じexplode/preg_splitを何度も実行したくありません。それは本当に意味がありません。元のファイルから静的ファイルを作成し、元のファイルを更新するときに更新したいだけです。

どうすればこれを行うことができますか?

4

3 に答える 3

2

file関数を使用してファイルを読み込みます。

$array = file('file1.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

そしてそれを出力するには、 and を使用しfile_put_contentsますimplode:

file_put_contents('file2.txt', implode("\n", $array));
于 2012-07-28T21:16:06.020 に答える
2
$array = file($thefile,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
file_put_contents($theotherfile, "return array(\n  ".implode(",\n  ", $array)."\n);";
于 2012-07-28T21:22:40.587 に答える
1

を使用var_export()して、必要な出力を生成できます。

例:

$array = array();
for ($i = 0; $i < 10; $i++) {
    $array[md5($i)] = sha1($i);
}

echo var_export($array);

結果:

array (
  'cfcd208495d565ef66e7dff9f98764da' => 'b6589fc6ab0dc82cf12099d1c2d40ab994e8410c',
  'c4ca4238a0b923820dcc509a6f75849b' => '356a192b7913b04c54574d18c28d46e6395428ab',
  'c81e728d9d4c2f636f067f89cc14862c' => 'da4b9237bacccdf19c0760cab7aec4a8359010b0',
  'eccbc87e4b5ce2fe28308fd9f2a7baf3' => '77de68daecd823babbb58edb1c8e14d7106e83bb',
  'a87ff679a2f3e71d9181a67b7542122c' => '1b6453892473a467d07372d45eb05abc2031647a',
  'e4da3b7fbbce2345d7772b0674a318d5' => 'ac3478d69a3c81fa62e60f5c3696165a4e5e6ac4',
  '1679091c5a880faf6fb5e6087eb1b2dc' => 'c1dfd96eea8cc2b62785275bca38ac261256e278',
  '8f14e45fceea167a5a36dedd4bea2543' => '902ba3cda1883801594b6e1b452790cc53948fda',
  'c9f0f895fb98ab9159f51fd0297e236d' => 'fe5dbbcea5ce7e2988b8c69bcfdfde8904aabc1f',
  '45c48cce2e2d7fbdea1afc51c7c6ad26' => '0ade7c2cf97f75d009975f4d720d1fa6c19f4897',
)
于 2012-07-28T21:35:32.757 に答える