Php 从简单数组创建二维数组以供csv使用
要使用php创建csv文件,预期的输入是二维数组,因此1行=1个内部数组Php 从简单数组创建二维数组以供csv使用,php,Php,要使用php创建csv文件,预期的输入是二维数组,因此1行=1个内部数组 $list = array ( array('aaa', 'bbb', 'ccc', 'dddd'), array('123', '456', '789'), array('"aaa"', '"bbb"') ); $fp = fopen('file.csv', 'w'); foreach ($list as $fields) { fputcsv($fp, $fields); } fcl
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
//output result in file.csv
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
因此,我有以下数组:
$list = array('item1','item2','item3','item4','item5','item6');
我需要将这个数组拆分为csv的1个数组中的较小数组。每个小数组需要在索引0处有'999999',然后是$list
数组中接下来的两项。所以最终的结果是这样的:
$newList = array( array(999999, "item1" , "item2"),
array(999999, "item3" , "item4"),
array(999999, "item5" , "item6")
);
原始列表数组有时最多可包含100个值。实现这一点的最佳方法是什么?这里有一种不同的方法,请查看有关将附加元素放置在何处的注释(您可以在末尾的合并中添加第二个数组,以便在两个列表项之后添加元素!)
$idx = 0;
$newarray = array();
$temparray = array('999999');
foreach($oldarray as $value) {
$temparray[] = $value;
if ((++$idx % 2)) == 0) {
$newarray[] = $temparray;
$temparray = array('999999');
}
}
有关工作示例,请参见此处:
<?php
$list = array('item1','item2','item3','item4','item5','item6');
$list_chunks = array_chunk($list,2);
$list_chunks2 = array_map(
create_function(
'$x',
'return array_merge(array(
/* This array is prepended to the second,
add as many elements as you like */
999999,
"another element to add",
483274832
),
$x);'),
$list_chunks);
print_r($list_chunks2);
?>