Php 从简单数组创建二维数组以供csv使用

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

要使用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);
}

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);
?>