【问题标题】:How to loop through PHP PDO FETCH ALL ASSOC ARRAY? [closed]如何循环遍历 PHP PDO FETCH ALL ASSOC ARRAY? [关闭]
【发布时间】:2014-12-21 04:32:47
【问题描述】:

我的数组 O/P 格式:

 Array
    (
        [0] => Array
            (
                [activity_id] => 2
                [ip_address] => 127.0.0.1
                [activity_name] => B
                [start_date] => 2014-12-03
                [end_date] => 2014-12-31
                [task_manager] => fd
            )

    [1] => Array
        (
            [activity_id] => 3
            [ip_address] => 127.0.0.1
            [activity_name] => dsw
            [start_date] => 12/04/2014
            [end_date] => 12/05/2014
            [task_manager] => Hello_am
        )

    [2] => Array
        (
            [activity_id] => 4
            [ip_address] => 127.0.0.1
            [activity_name] => dswfwaesf
            [start_date] => 12/04/2014
            [end_date] => 12/05/2014
            [task_manager] => Hello_am_2
        )

)

如何循环遍历数组,以便在 csv 文件中获取所有列名与它的值相对应?到目前为止,我已经尝试过这样做:

$chart_init= new ManageActivity;
$fp=fopen($filename,"w");
$list_chart=$chart_init->listActivityProject();
$separator="";
$comma="";
print_r($list_chart);

foreach($list_chart as $name=>$value)
    {
        $separator.=$comma . '' .str_replace('','""',$name);
        $comma=",";

    }
$separator.="\n";
fputs($fp,$separator);

echo 'true';
fclose($fp);

这只会给我 0,1,2 作为答案。不知何故,我无法根据列名获取行。请提供任何帮助。

【问题讨论】:

  • 第 1 步 - “手动”将列名写为第一行。第 2 步 - 遍历数组,然后按您在第 1 步中编写的列的顺序打印值,使用 implode() 添加逗号。您需要付出一些努力,而不是仅仅要求代码。

标签: php mysql arrays pdo


【解决方案1】:

可能的解决方案之一如下:

<?php

$list = array (
    array('activity_id' => '2',
          'ip_address' => '127.0.0.1',
          'activity_name' => 'B',
          'start_date' => '2014-12-03',
          'end_date' => '2014-12-31',
          'task_manager' => 'fd'),
    array('activity_id' => '3',
          'ip_address' => '127.0.0.1',
          'activity_name' => 'dsw',
          'start_date' => '12/04/2014',
          'end_date' => '12/05/2014',
          'task_manager' => 'Hello_am'),
    array('activity_id' => '4',
          'ip_address' => '127.0.0.1',
          'activity_name' => 'dswfwaesf',
          'start_date' => '12/04/2014',
          'end_date' => '12/05/2014',
          'task_manager' => 'Hello_am_2')
);


$headers = array('activity_id','ip_address','activity_name','start_date','end_date','task_manager');

$fcsv = fopen('file.csv', 'w');

fputcsv($fcsv, $headers);

foreach ($list as $row) {
    fputcsv($fcsv, $row);
}

fclose($fcsv);
?>

希望有用!

【讨论】:

  • 非常感谢!!!像魅力一样工作!我希望我能投票给你!邓有足够的声誉!
  • @user3663622 没关系 :)
猜你喜欢
  • 2016-07-23
  • 2012-09-01
  • 1970-01-01
  • 2015-05-09
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
相关资源
最近更新 更多