如何使用PHP把关联数组CSV? [英] How to put associative array in csv using PHP?
本文介绍了如何使用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屋!
查看全文