Php 使用fwrite保存变量

Php 使用fwrite保存变量,php,fwrite,Php,Fwrite,我只是想了解如何使用fwrite。在下面的代码中,我试图将输出保存在文本文件中。我刚刚得到一个空的txt文件。 谁能告诉我我做错了什么 <?php $name = fix_name("ALAN", "james", "LiM"); echo $name[0] . " " . $name[1] . " " . $name[2]; function fix_name($n1, $n2, $n3) { $n1 = ucfirst(strtolower($

我只是想了解如何使用fwrite。在下面的代码中,我试图将输出保存在文本文件中。我刚刚得到一个空的txt文件。 谁能告诉我我做错了什么

<?php
    $name =  fix_name("ALAN", "james", "LiM");
    echo $name[0] . " " . $name[1] . " " . $name[2];
    function fix_name($n1, $n2, $n3) {
        $n1 = ucfirst(strtolower($n1));
        $n2 = ucfirst(strtolower($n2));
        $n3 = ucfirst(strtolower($n3));

        return array($n1, $n2, $n3);

}
    $fp = fopen("name.txt", "wb");
    $written = fwrite($fp, $name);
    fclose($fp);

?> 

您正在将一个
数组
传递给
fwrite

如果使用启用错误报告

error_reporting(E_ALL);
你会得到警告说

警告:fwrite()希望参数2是字符串,数组在file.php的第16行给出

从函数中返回一个字符串

return $n1 . ', ' . $n2 . ', ' . $n3;
或者在函数外部,使用
内爆
从数组元素中获取字符串

$name = implode(', ',fix_name("ALAN", "james", "LiM"));
此外,在函数外部,只打印
$name
变量

print $name;
在您的文本文件中,您将有以下内容

Alan, James, Lim

不能将数组写入文件。如果要保存数组,需要使用
serialize()
。读取文件后,不要忘记取消序列化()。您可能需要使用PHP5的文件读写功能<代码>文件获取内容()
文件放置内容()
谢谢。我会查一查。