php 为数组制作 csv 文件

2023-12-19

我有一个数组。当我使用时print_r($output)。我得到这样的数组

array(
    [0] => Array
            (
                [listing_id] => 14
                [category_id] => Modern Australian
                [listing_name] => Boatshed Restaurant
                [image_name] => krish_logo.png
                [address] => 2, Thrower Drive
                [phone] => 07 5534 3888
                [introduction_text] => 
                [website] => 
                [payment_types] => 
                [open_days] => 
                [licenced] => 0
                [highchair] => 0
                [dress_code] => 

            )
    [1] => Array
            (
                [listing_id] => 13
                [category_id] => Indian,Restaurant,Take-away
                [listing_name] => Krish Indian Cuisine - Varsity Lakes
                [image_name] => krish_logo.png
                [address] => Shop B/228 Varsity Parade, The Piazza Varsity Lakes
                [phone] => 07 5578 8090
                [introduction_text] => <p>Welcome to Krish Indian Cuisine. An award winning north indian  restaurant which offers the very best in modern and indian-fusion  cuisine. If you prefer your food tantalizingly hot or subtly mild, Krish  Indian has something for you. Bring the whole family or maybe just an  intimate dinner for two. Whatever the reason you will enjoy the fabulous  food</p>
                [website] => http://www.testsite.com/
                [payment_types] => Cash,Visa,Mastercard,Eftpos
                [open_days] => TuesLunch,n,MonLunch,n,MonDinner,n,TuesBKfast,n,WedLunch,n,ThuDinner,n,ThuLunch,n,TuesDinner,n,WedDinner,n,FriDinner,n,FriLunch,n,SunDinner,n,SatLunch,n,SatDinner,n,SunLunch,n
                [licenced] => 0
                [highchair] => 1
                [dress_code] => Casual



            )
    [2] => Array
            (
                [listing_id] => 12
                [category_id] => Steak
                [listing_name] => Outback Jacks Bar & Grill - Southport
                [image_name] => 9_1552272162010moomoo.jpg
                [address] => 2, Barney Street
                [phone] => 07 5532 3271
                [introduction_text] => 
                [website] => 
                [payment_types] => 
                [open_days] => 
                [licenced] => 0
                [highchair] => 0
                [dress_code] => 

            )                

)

我想将其导出到 csv 文件。为此我编写了这样的代码

$fichier = 'file.csv';
 header( "Content-Type: text/csv;charset=utf-8" );
 header( "Content-Disposition: attachment;filename=\"$fichier\"" );
 header("Pragma: no-cache");
 header("Expires: 0");

 $fp= fopen('php://output', 'w');

 foreach ($output as $fields) 
 {
    fputcsv($fp, $fields);
 }
 fclose($fp);
 exit();

但在这里我得到了文件,但当我打开文件时,它只显示 array()。那么有人可以告诉我如何获取csv中的数据吗?任何帮助和建议都将非常感激。谢谢


您的数组实际上对 CSV 并不友好,因为它是多维的。

要放入 CSV,您需要将 $output 的每个元素转换为一维数组:

foreach ($output as $fields) {

   $csvrec = array(
        'listing_id' => $fields['listing_id'],
        'category_id' => $fields['category_id'], 
   // etc... etc...
   // down to...
        'parking' => $fields['dinning_details']['parking'],
        'byo_info' => $fields['dinning_details']['byo_info'],
        'indoor' => $fields['dinning_details']['capacity']['indoor'],
   // etc.. etc...
   );

   fputcsv($fp, $csvrec);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php 为数组制作 csv 文件 的相关文章

  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 根据用户角色将帖子状态更改为待处理

    我有会员网站 用户必须付费才能订阅 当用户订阅时 他的角色变为 成员 现在可以发布到名为 用户配置文件 的自定义帖子类型 我想要做的是将所有已发布帖子的状态更改为该帖子类型中的待处理 例如 如果用户角色更改为 已过期 我尝试了这个 但似乎没
  • 替换多余的空格

    我需要从应用程序中的玩家用户名中删除多余的空格 字母之间不止一次空格 并将其替换为单个空格 我不介意用户有一个空格 但我需要删除彼此相邻的多个空格 目前我是这样实现的 replace array array fill array array
  • 在 PHP 应用程序中实现插件的设计模式

    对于如何在 PHP 应用程序中实现插件有共识吗 我已经调查过观察者模式 http devzone zend com 1732 implementing the observer pattern with splobserver and sp
  • 如何从MySQL数据库获取今天/昨天的数据?

    我想从数据库中检索今天的数据 但我不知道该怎么做 我实际上想要获取不是过去 24 小时的数据 我只想获取今天的数据 因此基于实际服务器时间 我还想获取昨天的数据 谁能帮我怎么做 示例代码 SELECT id FROM folk WHERE
  • 检查用户是否连接到 Facebook,然后检查他是否喜欢某个页面

    有没有什么方法可以检查用户是否在我的外部页面上连接到 Facebook 而不让他们允许我的应用程序之一 同样的问题也适用于 检查用户是否喜欢某个页面 我检查了大约 20 个问题和 3 4 个教程 似乎所有问题都在讨论内部脚本 粉丝页面 应用
  • 类别树的路由

    我正在使用Tree http www gediminasm org article tree nestedset behavior extension for doctrine 2类别树的学说扩展并希望有如下路线 cat subcat1 s
  • “yum install php”需要 httpd-mmn = 20051115

    我从源代码安装了 httpd apache 2 4 6 现在我想安装 PHP 但yum install php吐出错误 Error Package php 5 3 3 40 el6 6 x86 64 updates Requires htt
  • 在 TCPDF 中设置背景颜色

    我已经手动设置了第一页的背景颜色 如下所示 pdf gt AddPage pdf gt SetFillColor 52 21 0 76 pdf gt Rect 0 0 pdf gt getPageWidth pdf gt getPageHe
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • CodeIgniter PHP 模型访问“无法找到您指定的模型”

    我一直在尝试为我正在构建的这个网站加载一些模型 但不知道什么原因 会带来如下错误 An Error Was Encountered Unable to locate the model you have specified logon mo
  • 如何在 Kohana 中包装 PHP 遗留代码?

    我有大量用 PHP 编写的遗留代码 这些代码不是在任何特定框架上编写的 而是主要是老式风格 即内联 PHP 然而 我的大部分新代码都是在 Kohana 3 1 X 框架上编写的 尽管 Kohana 确实允许遗留代码和 Kohana 文件在同
  • 无法使用模式 r: fopen(): AWS Elastic Beanstalk 打开

    错误 无法使用模式 r fopen 打开 文件名不能为空当我尝试上传较大的文件 超过 5MB 时 我不断收到此错误 我已将 PHP 应用程序上传到 AWS Elastic Beanstalk 并将文件上传到 AWS S3 我的代码中甚至没有
  • CodeIgniter 路由问题以访问前端和后端文件夹

    我正在使用 CodeIgniter 我在控制器和视图中有前端和后端文件夹 我尝试了服务器步骤甚至检查了几乎所有解决方案 但我仍然无法访问它我的默认控制器 路线 php route default controller frontend Us
  • 提交前验证表单(比检查空字段更复杂)

    我有一个包含时间输入的表单 具体来说 开放时间和结束时间 当按下提交按钮时 它会转到一个 php 页面 其中这些输入将添加到数据库中 在允许提交表单之前我想检查一些事情 例如 我想确保开始时间早于 小于 结束时间 这是表格 Opens
  • Yii2 Rest - 自定义操作和 OPTIONS 方法

    我在 UsersController 类中执行以下操作 login 路由操作时遇到问题 public function actionLogin data Yii app gt getRequest gt getBodyParams mode
  • 是否可以从插件扩展 Wordpress XMLRPC 接口?

    是否可以创建一个插件 在激活时向 XMLRPC 接口添加新的 功能 并处理其调用 简而言之 是的 您可以将函数添加为插件或添加到主题的functions php 文件中来处理XMLRPC 调用 您将需要以下部分 function xml a
  • 依赖注入容器什么时候会变得太大,我该怎么办?

    我们都知道为什么依赖注入很棒因为它使代码耦合更少 更容易测试 并且更容易阅读 然后有些人决定使用依赖注入容器 like pimple http pimple sensiolabs org PHP 可以协助依赖倒置 http en wikip
  • 如何使用 Mockery 在第 N 次调用模拟方法时抛出异常

    我需要测试我编写的某些代码多次调用另一个类上的方法时的行为 其中一次调用将导致抛出异常 我在用Mockery http docs mockery io模拟可能引发异常的类 因此 就我而言 该方法将被调用三次 我需要它在第二次抛出异常 这是我

随机推荐