0

m 有 3 个数组说:

$first_array = array('val11','val21','val31');
$Second_array = array('val12','val22','val32');
$third_array = array('val13','val23','val33');

是否可以使用 php 的函数将这个数组值存储fgetcsv()到每一列中,我的意思是,
first_array 应该存储在第一列中,
第二个数组存储在第二列中,第三到第三个 .. 所以数据应该像

val11 val12 val31
val21 val22 val32
val31 val32 val33

无论如何请让我知道。谢谢

4

2 回答 2

0

最简单的方法是将数组从列翻转到行。

假设所有数组都具有相同数量的元素,这应该可以完成工作:

$rows = array();

// Converts the arrays of columns into arrays of rows
$length = count($first_array);
for ($i = 0; $i < $length; $i++) {
  $rows[$i] = array($first_array[$i], $second_array[$i], $third_array[$i]);
}

// Writes the rows to the file
$fp = fopen('outfile.csv', 'w');
foreach ($rows as $row) {
  fputcsv($fp, $row);
}
fclose($fp);
于 2012-12-31T11:26:49.960 回答
0

检查此代码

<?php
    $list = array (
        array('aaa', 'bbb', 'ccc', 'dddd'),
        array('123', '456', '789'),
        array('"aaa"', '"bbb"')
    );
    $fp = fopen('test.csv', 'w');
    foreach ($list as $fields) {
        fputcsv($fp, $fields);
    }
    fclose($fp);
 ?>
于 2012-12-31T11:59:34.810 回答