duanbushi1867 2016-05-04 22:51
浏览 37
已采纳

PHP顺序变量按数组计数迭代多维数组

Hope you can help me out. Thanks in Advance!

I'm trying to figure out how parse a multidimensional array/loop statement to lay out the iterated array values into rows (which will become a full row in a CSV file) The CSV file will end up with 24 rows based on below example

result

1999,apple,red

1999,apple,green

1999,orange,red

1999,orange,green

1999,strawberrry,red

... and so on

$year = array('1999','2000','2001','2002');
$fruit = array('apple','orange','strawberry');
$color = array('red','green');
  • 写回答

1条回答 默认 最新

  • douweibeng5219 2016-05-04 22:54
    关注

    You can use a foreach() loop and iterate over each of the 3 arrays and use fputcsv() to save the 3 items into a CSV file.

    $fp = fopen('file.csv', 'w');
    
    $year = array('1999','2000','2001','2002');
    $fruit = array('apple','orange','strawberry');
    $color = array('red','green');
    
    foreach ($year as $y) {
        foreach ($fruit as $f) {
            foreach($color as $c) {
                echo "$y,$f,$c" . PHP_EOL; // Echo to screen. Not needed
                fputcsv($fp,array($y,$f,$c)); // Save each row to CSV file
            }
        }
    }
    fclose($fp);
    

    Resulting file.csv file will then look like so:

    enter image description here

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?