Проблема в итерации данных и в файл CSV в PHP - PullRequest
0 голосов
/ 26 октября 2018

Я сделал этот код

 private function FileLog($parsedData)
{

        $fp = fopen(dirname(__FILE__).'/logs/'.date('d-m-Y').'.csv','a+');
        $HeaderKey = array();
        foreach($parsedData as $key => $value)
        {
            echo $key."<br>";//$key has names of all parameters
            foreach($value as $key1 => $value1)
            {
                echo $key1." :: ".$value1."<br>";//value1 has all the values
            }
            $HeaderKey[] = $key;
        }
        fputcsv($fp,$HeaderKey);
        fclose($fp);
}

Вот что получается:

StartTag
0 :: $$
1 :: $$
2 :: $$
3 :: $$
LastUpdateTimeInSec
0 :: 1539544229
1 :: 1539544293
2 :: 1539544505
3 :: 1539544548
NumberOfParams
0 :: 22
1 :: 22
2 :: 22
3 :: 22

Как вы можете видеть $ key1 дает ключи, а $ value1 дает значения ... То, что я хочу сделать, это соединить все значения одинаковыми ключами.0 startTag значение с 0 LastUpdateTimeInSec и с 0 NumberOfParams вместе и так далее с 1,2 и 3. И, наконец, положить в CSV-файл в этой последовательности.

1 Ответ

0 голосов
/ 26 октября 2018

Использование array_map для объединения данных в выходной массив

private function FileLog($parsedData)
{
    $fp = fopen(dirname(__FILE__).'/logs/'.date('d-m-Y').'.csv','a+');
    $output = array_map(null, $parsedData['StartTag'], $parsedData['LastUpdateTimeInSec'], $parsedData['NumberOfParams']);
    foreach($output as $line) {
       fputcsv($fp, $line);
    }
    fclose($fp);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...