Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在循环中从每列中获取值并将它们组合成字符串_Php_Loops_Csv - Fatal编程技术网

Php 如何在循环中从每列中获取值并将它们组合成字符串

Php 如何在循环中从每列中获取值并将它们组合成字符串,php,loops,csv,Php,Loops,Csv,我有一个CSV文件,其布局如下: Column1 Column2 Column3 34 56 7 45 55 10 34 40 12 以及执行以下操作的代码 $row=1 if (($handle = fopen("report.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, "

我有一个CSV文件,其布局如下:

Column1     Column2    Column3
34            56          7
45            55         10
34            40         12
以及执行以下操作的代码

$row=1
if (($handle = fopen("report.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    if($row == 1){ $row++; continue; }
        $num = count($data);
        $row++;


        $column1 = $column1 . ", ". $data[1];
        $column2 = $column2 . ", ". $data[2];
        $column3 = $column3 . ", ". $data[3];



}
fclose($handle);
}

$column1 = ltrim ($column1 ,','); //removes first comma from string
$column2 = ltrim ($column2 ,',');
$column3 = ltrim ($column3 ,',');
这将生成三个字符串,用于绘制图形

"34,45,34"
"56,55,40"
"7,10,12"
但是,我可能会向csv文件中添加更多的列,因此我需要一种循环的方式,以避免每次手动添加新行。 我似乎找不到一种方法来执行一个循环,在不中断的情况下自动为列指定变量名


有什么建议吗?

列使用字符串数组,而不是$column1,2,3..:

    ...
    $num = count($data);
    $row++;

    for($i=0; $i<$num; $i++){
        $columns[$i] = $columns[$i] . ", ". $data[$i];
    }
    ...
。。。
$num=计数($data);
$row++;

因为($i=0;$i谢谢你。我知道这很简单,就在附近,我想我只是在错误的地方回响。干杯