Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组变量转换为csv_Php_Csv - Fatal编程技术网

Php 将数组变量转换为csv

Php 将数组变量转换为csv,php,csv,Php,Csv,我有一个变量,它保存数据库中的数组,即名称和电子邮件地址 阵列结构为: Array ( [0] => stdClass Object ( [fname] => FName [lname] => LName [email] => Email ) [1] => stdClass Object ( [fname] => FName [lname] => LName [email] => Email ) ) 等等,通过所有用户的列表 我

我有一个变量,它保存数据库中的数组,即名称和电子邮件地址

阵列结构为:

Array ( 
    [0] => stdClass Object ( [fname] => FName [lname] => LName [email] => Email )
    [1] => stdClass Object ( [fname] => FName [lname] => LName [email] => Email )
)
等等,通过所有用户的列表

我已经在框架中设置了创建csv文件的所有步骤,但是我在构建foreach循环以迭代数组变量并将该信息放入csv中时遇到了问题。我尝试了几种不同的方法,只是将错误加载到csv中。我已经准备好了标题

    $users = SiteUser::select()->getColumns('fname, lname, email');

    foreach ($users as $u) {
        // print each user as a CSV row (columns are name, email)
        // Anything here will be place into the csv file for download
    }


    exit;
}

您可以将
stdClass
转换为数组,然后使用
fputcsv
输出:

// Get pointer to standard output
$fp = fopen('php://output', 'w');
// write column headers
fputcsv($fp, ["name", "email"]);

foreach ($users as $u) {
    // assemble array and write
    fputcsv($fp, [$u->fname . " " . $u->lname, $u->email]);
}

fclose($fp);

我试过了,这不是我所需要的。你是如何在你的框架中保存csv的?当你尝试时,你会遇到什么错误?可能您需要先将
stdClass
转换为数组?它已经是变量中的数组了。这个变量包含整个数组,所以我真的不知道你的意思是什么?谢谢你,这很有效。我没有意识到我需要打开并关闭文件,我认为框架模型中已经建立的函数已经做到了,但显然没有。我以前也从未使用过stdclass。