【问题标题】:Looping through an array of arrays, changing output on a given line(s)循环遍历数组,改变给定行的输出
【发布时间】:2009-10-26 07:55:43
【问题描述】:

这就是我用来循环数组数组的方法。

$csvpre = explode("###", $data);

$i = 0;
$bgc = 0;

    foreach ( $csvpre AS $key => $value){
        $info = explode("%%", $value);
        $i++;
        if($i == "1"){
            echo "<tr bgcolor=#efefef><td></td>";
                foreach ( $info as $key => $value ){ echo "<td>$value</td>"; }
            echo "</tr>";

        } else {

            if($bgc=1) { $bgcgo = "bgcolor=\"#b9b9b9\"" ;} else { $bgcgo = "bgcolor=\"#d6d6d6\""; }
            echo "<tr $bgcgo><td></td>";
                foreach ( $info as $key => $value ){ echo "<td>$value</td>"; }
            echo "</tr>";
            $bgc++;
        }       
    }

如何在最后一个 foreach 中添加 if/elseif 语句,以便输出在数组的给定行上发生变化。 假设我想要 &lt;td&gt;$value&lt;/td&gt; 除非另有说明,但在第 30 行,我想要 &lt;textarea&gt;$value&lt;/textarea&gt;

【问题讨论】:

    标签: php function csv


    【解决方案1】:

    你的意思是这样的:

    <?php 
    .......
    echo "<tr $bgcgo><td></td>";
    $j = 0;  //you need a counter
    foreach ( $info as $key => $value ) { 
        $j++;  
        if ($j != 30) {
            echo "<td>$value</td>"; 
        } else {
            echo "<textarea>$value</textarea>";
        }
    }
    echo "</tr>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 2018-12-28
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多