【问题标题】:PHP, loop in a loop with dynamic variables and arrayPHP,循环使用动态变量和数组
【发布时间】:2014-11-26 00:57:14
【问题描述】:

我刚刚完成了一个脚本,但我知道,我可以让它更简洁。我有点需要帮助。

这是我的代码的最后一个循环:

$fp = fopen('php://output', 'w');
for ($i = 0 ; $i < $nba ; $i++){
    fputcsv($fp, array($r{0}[$i],$r{1}[$i],$r{2}[$i],$r{3}[$i],$r{4}[$i],$r{5}[$i],$r{6}[$i],$r{7}[$i],$r{8}[$i],$r{9}[$i],$r{10}[$i],$r{11}[$i],$r{12}[$i],$r{13}[$i],$r{14}[$i],$r{15}[$i],$r{16}[$i],$r{17}[$i],$r{18}[$i],$r{19}[$i],$r{20}[$i],$r{21}[$i]), ';');
}
fclose($fp) ;

在此示例中,如何避免从 r{0}[$i] 复制和粘贴到 r{21}[$i] ?我敢肯定,答案就在我面前,但是在这些行之前我在代码上花了太多时间来想清楚。

非常感谢。

【问题讨论】:

  • 为什么现在不简单地将 $r 序列化为一个数组?
  • $r 是一个动态变量,也是一个数组。但没关系。我得到了@Francois B 的答案。谢谢。

标签: php arrays loops variables dynamic


【解决方案1】:
$fp = fopen('php://output', 'w');
for ($i = 0 ; $i < $nba ; $i++){

     $array = array();
     for($j=0;$j<22;$j++)
          $array[$j] = $r{$j}[$i];

    fputcsv($fp, $array, ';');
}
fclose($fp) ;

【讨论】:

  • 它不起作用。很难解释它的作用。 BUt..它重复..我会说..“按行,而不是行”..我不知道它是否对你有意义,但我找不到其他任何东西:)
  • 糟糕!我的错,它很好用!我犯了一个错误。非常感谢!
【解决方案2】:

试试这个代码:

$fp = fopen('php://output', 'w');
for ($i = 0 ; $i < $nba ; $i++){
    for ($j = 0 ; $j < 22 ; $j++){
        $arry[] = $r{$j}[$i];
    }

    fputcsv($fp, $arry, ';');
}
fclose($fp);

【讨论】:

  • @francois-b 代码效果很好。我试的时候出错了。
猜你喜欢
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
  • 1970-01-01
  • 2022-07-26
相关资源
最近更新 更多