在foreachloop PHP中的Fwrite

时间:2016-04-30 11:28:33

标签: php foreach fwrite

我想将数组的内容写入新文件。

到目前为止,我的文件只包含数组的最后一个元素,而不是前两个元素。所以文件output2.txt中的文本只是Edward。

我在这里误解了什么吗?

$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);
} 

2 个答案:

答案 0 :(得分: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);

?>

不要在循环中包含文件操作函数,创建一个字符串然后将其写入文件。

就像@Dagon建议你可以简单地使用Implode函数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);
?>

答案 1 :(得分:-1)

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

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

您每次尝试创建新文件都可以帮助您