Не удается получить массив PHP для входа в CSV через fputcsv ()

у меня есть $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);

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 — Руководство

1

Другие решения

Других решений пока нет …