如何使用php将每一行数组转换为一行字符串


How to convert every row of array to one line of string using php?

我有一个关于65000的大数组每一行都有7的行这是print_r的一些输出

[1904] => Array
    (
        [Open] => 1.27260
        [High] => 1.27550
        [Low] => 1.27190
        [Close] => 1.27380
        [Volume] => 571
        [MA50] => 1.269988
        [MA20] => 1.269315
    )
[1905] => Array
    (
        [Open] => 1.27390
        [High] => 1.27690
        [Low] => 1.27340
        [Close] => 1.27660
        [Volume] => 521
        [MA50] => 1.270326
        [MA20] => 1.269695
    )

我想把它输出到像这样的文本文件而不是csv

1.27390 1.27690 1.27340 1.27660 521 1.270326 1.269695 //All the data of 1905 row
1.27260 1.27380 //here only Open and Close of 1904 (here I'm Confused)

您需要迭代数组并使用implode()将每一行转换为字符串。在循环中添加结果到字符串变量。您可以使用array_reduce()来完成这项工作

$str = array_reduce($arr, function($carry, $item){
    return $carry.implode(" ", $item)."'n";
});

见demo

结果
或者使用foreach()来迭代数组
$str = "";
foreach($arr as $row){
   $str .= implode(" ", $row)."'n";
}
echo $str;

参见demo