2016-04-30 7 views
1

新しいファイルに配列の内容を書きたいと思います。foreachloopでの書き出しPHP

これまでのところ、ファイルには、配列の最後の要素のみが含まれ、最初の2つは含まれていません。ファイルoutput2.txtのテキストはEdwardのみです。

私はここで何か誤解しましたか?

<?php 


$array = array ("Sarah", "William", "Edward"); 

foreach ($array as $value) { 
    $myfile = fopen("output2.txt", "w") or die("Unable to open file!"); 
      fwrite($myfile,$value); 
      fclose($myfile); 
} 


?> 
+0

もっとefficencyがうまく機能し、それは –

答えて

-1
 $myfile = fopen("output2.txt", "w") or die("Unable to open file!"); 
$abcd=""; 
    foreach ($array as $value) { 

       $abcd.= $value; 

    } 

fwrite($myfile,$abcd); 
    fclose($myfile); 

新しいファイルを毎回作成している、これはあなた

+0

ありがとうループよりも配列を内破するために – Dropfreeski

+0

http://php.net/manual/en/function.implode.php –

0
<?php 

$array = array ("Sarah", "William", "Edward"); 
$txt = ""; 
foreach ($array as $value) { 
     $txt = $txt . $value;; 
} 

$myfile = fopen("output2.txt", "w+") or die("Unable to open file!"); 
fwrite($myfile,$txt); 
fclose($myfile); 

?> 

役立つかもしれない試みるファイルに書き込む、文字列を作成し、ループ内でのファイル操作関数を含めないでください。

@ダゴンのように、単純にImplode関数を使用して配列を埋め込むことができます。

<?php 
$array = array ("Sarah", "William", "Edward"); 
$txt = implode(",", $array); 

$myfile = fopen("output2.txt", "w+") or die("Unable to open file!"); 
fwrite($myfile,$txt); 
fclose($myfile); 
?> 
+0

あなたの助け – Dropfreeski

+1

HTTPをありがとう:// php.net/manual/en/function.implode.php –

+0

改善のおかげで:) –

関連する問題