php - 合并并转置 3 个数据数组

标签 php arrays csv transpose

csv中需要保存三个单维数组

$arr1=array(1,2,3);
$arr2=array('a','b','c');
$arr3=array('x','y','z');

我需要将上述数组保存在 csv 中,如下例所示 -

1,a,x
2,b,y
3,c,z 

我尝试了以下代码,但它没有以该格式保存

$handle = fopen('file.csv', 'w');
$data=array($arr1,$arr2,$arr3);
foreach ($data as $line) {
    fputcsv($handle, $line);
}
fclose($handle);

输出

1,2,3
a,b,c
x,y,z

最佳答案

在写入 CSV 之前转置数据

$data = array($arr1,$arr2,$arr3);
$transposedData = call_user_func_array(
    'array_map',
    array_merge(
        array(NULL),
        $data
    )
);

$handle = fopen('file.csv', 'w');

foreach ($transposedData  as $line) {
    fputcsv($handle, $line);
}
fclose($handle);

关于php - 合并并转置 3 个数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063003/

相关文章:

java - 直接调用ArrayList的最后一个Item

python - 有没有更好的方法来抓取这些数据?

javascript - 使用 d3.js 将 CSV 解析为 HTML 表时出现问题

C - 断言失败错误

PHP mysql检查函数内部

php - 无法通过 php (shell_exec) 访问 tmux session

javascript - 使用 <a> 标签加载 Ajax 页面

php - 保护进出数据库的数据的正确方法是什么?

javascript - 如何使用 native react 在平面列表中显示具有动态名称的数组数据列表?

arrays - 在 Hadoop 中自定义 TwoDArrayWritable 并且无法在 reducer 中对其进行迭代