使用 fwrite 保存变量

Save variable using 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($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);

?> 

您正在将 array 传递给 fwrite
如果您使用

启用错误报告
error_reporting(E_ALL);

你会收到一条警告说

Warning: fwrite() expects parameter 2 to be string, array given in file.php on line 16

return 来自您的函数的字符串

return $n1 . ', ' . $n2 . ', ' . $n3;

或者在函数外,使用implode从数组的元素中得到一个字符串

$name = implode(', ',fix_name("ALAN", "james", "LiM"));

此外,在函数外,只打印出 $name 变量

print $name;

在您的文本文件中,您将拥有这个

Alan, James, Lim