【问题标题】:Can't get PHP array to get into CSV via fputcsv()无法通过 fputcsv() 让 PHP 数组进入 CSV
【发布时间】:2015-12-17 01:47:02
【问题描述】:

我有一个 $events 数组,看起来像

Array
(
    [0] => Array
        (
            [4fe8a21c6f05d60023009d96] => any authentication
        )

    [1] => Array
        (
            [4fe8a21c6f05d60023009d96] => any authentication
        )

    [2] => Array
        (
            [4fe8a21c6f05d60023009d96] => any authentication
        )

    [3] => Array
        (
            [4fe8a21c6f05d60023009d96] => any authentication
        )

    [4] => Array
        (
            [4fe8a21c6f05d60023009d96] => any authentication
        )

我正在使用下面的代码尝试将 user_id 和“任何身份验证”字样放在 CSV 的每一行。但是,使用我的代码,我看到以下内容(而不是 "4fe8a21c6f05d60023009d96 " "any authentication"):

"User_ID    "   "   Event"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"
    "Array  "   "   Array"

我的代码是:

$fp = fopen('events.csv', 'w');
$header = array('User_ID',",",'Event');
fputcsv ($fp, $header, "\t");

foreach ($events as $event) {
    $line = array(array_keys($event),',',$event);
    fputcsv($fp, $line,"\t");
}

fclose($fp);

【问题讨论】:

    标签: php arrays csv fputcsv array-key


    【解决方案1】:

    对于您的阵列,请尝试以下解决方案:

    <?php
    $events = array
    (
        '0' => array
        (
            '4fe8a21c6f05d60023009d96' => 'any authentication'
        ),
    
        '1' => array
        (
            '4fe8a21c6f05d60023009d96' => 'any authentication'
        ),
    
        '2' => array
        (
            '4fe8a21c6f05d60023009d96' => 'any authentication'
        ),
    
        '3' => array
        (
            '4fe8a21c6f05d60023009d96' => 'any authentication'
        ),
    
        '4' => array
        (
            '4fe8a21c6f05d60023009d96' => 'any authentication'
        )
    );
    
    
    $fp = fopen('events.csv', 'w+');
    $header = array('User_ID',",",'Event');
    fputcsv ($fp, $header, "\t");
    
    foreach ($events as $event) {
    
        $line = array(key($event),',',$event[key($event)]);
        fputcsv($fp, $line,"\t");
    }
    
    fclose($fp);
    

    有关fputcsv 的更多详细信息,请查看PHP: fputcsv - Manual

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多