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

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

报告相同问题?

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了