如何使用PHP把关联数组CSV? [英] How to put associative array in csv using PHP?

查看:111
本文介绍了如何使用PHP把关联数组CSV?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好家伙只是想问问我怎么可以把一个关联数组以CSV?
例如,如果我有一个这样的数组。

 阵列

[0] =>排列
        (
            [restaurant_id] => 1227
            [new_lat] => 13.62241
            [new_long] => 123.19341
            [日期date_updated] => 2013年11月14日11时二十分26秒
        )    [1] =>排列
        (
            [restaurant_id] => 1218
            [new_lat] => 14.66732
            [new_long] => 121.02618
            [日期date_updated] => 2013年11月14日十一时22分22秒
        )

有关生成CSV我的code是这样的:

  $ restaurant_id = $ post_data ['COMPANY_ID'];
            $ new_lat_entry = $ post_data ['new_lat'];
            $ new_long_entry = $ post_data ['new_long'];            $ data_add =阵列(
                restaurant_id'=> $ restaurant_id,
                new_lat'=> $ new_lat_entry,
                new_long'=> $ new_long_entry,
                日期date_updated'=>日期('Y-M-D H:I:S')
            );            $数据=反序列化(的file_get_contents('addresses.txt'));
            $数据[] = $ data_add;            $ serialize_data =连载($的数据);
            的file_put_contents(addresses.txt,$ serialize_data,LOCK_EX); //写文本文件            $阵列=反序列化(的file_get_contents('addresses.txt')); //这将让数组
                    回声< pre>中;
            的print_r($数组); //显示它            $ CSV ='';
            的foreach($数组作为$行){
                $ CSV =爆('',$行)。 \\ n;
            }
            // fn_print_die($ CSV);
            $ file_input =的fopen(addresses.csv,W);
            的foreach($ CSV为$线){
                fputcsv($ file_input,分割('',$线));
            }
            FCLOSE($ file_input);


解决方案

这应该工作...

 < PHP  的foreach($数组作为$行){
       fputcsv($ file_input,$行);
 } FCLOSE($ file_input);  ?>

只是指fputcsv手册上php.net

Hello guys just want to ask how can I put an associative array in csv? For example if I have an array like this.

Array
(
[0] => Array
        (
            [restaurant_id] => 1227
            [new_lat] => 13.62241
            [new_long] => 123.19341
            [date_updated] => 2013-11-14 11:20:26
        )

    [1] => Array
        (
            [restaurant_id] => 1218
            [new_lat] => 14.66732
            [new_long] => 121.02618
            [date_updated] => 2013-11-14 11:22:22
        )
)

For my code in generating csv is this:

            $restaurant_id = $post_data['company_id'];
            $new_lat_entry = $post_data['new_lat'];
            $new_long_entry = $post_data['new_long'];

            $data_add =  array(
                'restaurant_id' => $restaurant_id,
                'new_lat' => $new_lat_entry,
                'new_long' => $new_long_entry,
                'date_updated' => date('Y-m-d H:i:s')
            );

            $data = unserialize(file_get_contents('addresses.txt'));
            $data[] = $data_add;

            $serialize_data = serialize($data);
            file_put_contents("addresses.txt", $serialize_data, LOCK_EX); //write the text file

            $array = unserialize(file_get_contents('addresses.txt')); //THIS WILL GET THE ARRAY
                    echo "<pre>";
            print_r($array); //display it

            $csv = '';
            foreach($array as $row) {
                $csv .= implode(',', $row) . "\n";
            }


            //fn_print_die($csv);


            $file_input = fopen("addresses.csv","w");
            foreach($csv as $line){
                fputcsv($file_input,split(',',$line));
            }
            fclose($file_input);

解决方案

This should work...

 <?php

  foreach ($array as $row) {
       fputcsv($file_input, $row);
 }

 fclose($file_input);

  ?>

Just refer to the fputcsv manual on php.net

这篇关于如何使用PHP把关联数组CSV?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆