dsvd407787736 2014-07-03 19:02
浏览 27

PHP生成列循环?

I am trying to generate a column loop within html. This is the regular code that works and outputs everything I want in the correct format.

<tr>
<td style="color:#<?php echo $ftstyle1; ?>"><div style="background-color:#<?php echo $bgstyle1; ?>"><?php echo $partnumber ?></div></td>
<td style="color:#<?php echo $ftstyle; ?>"><div style="background-color:#<?php echo $bgstyle; ?>"><?php echo $vendorpartnumber ?></div></td>
<td style="border:1px solid black;"><?php echo $cost ?></td>
<td style="border:1px solid black;"><?php echo $stock ?></td>
<td style="border:1px solid black;"><?php echo $wholesale ?></td>
<td style="border:1px solid black;"><?php echo $notes ?></td>
<td style="color:#<?php echo $ftstyle3; ?>"><div style="background-color:#<?php echo $bgstyle3; ?>"><?php echo $salesquotient_p ?></div></td>
<td style="border:1px solid black;"><?php echo $last7dayssum ?></td>
<td style="border:1px solid black;"><?php echo $last1day_n ?></td>
<td style="border:1px solid black;"><?php echo $last2day_n ?></td>
<td style="border:1px solid black;"><?php echo $last3day_n ?></td>
<td style="border:1px solid black;"><?php echo $last4day_n ?></td>
<td style="border:1px solid black;"><?php echo $last5day_n ?></td>
<td style="border:1px solid black;"><?php echo $last6day_n ?></td>
<td style="border:1px solid black;"><?php echo $last7day_n ?></td>

I am trying to replace the echo $last1day_n, $last2day_n, etc... with a loop that will generate those columns. This is what I have tried so far.

<td style="border:1px solid black;"><?php echo $cost ?></td>
<td style="border:1px solid black;"><?php echo $stock ?></td>
<td style="border:1px solid black;"><?php echo $wholesale ?></td>
<td style="border:1px solid black;"><?php echo $notes ?></td>
<td style="color:#<?php echo $ftstyle3; ?>"><div style="background-color:#<?php echo $bgstyle3; ?>"><?php echo $salesquotient_p ?></div></td>

<?php for ($i = 1; $i <= 7; $i++) {
$dd = "$" . "last" . strval($i) . "day_n";
?>
<td style="border:1px solid black;"><?php echo $dd ?></td>
<?php }  ?>

This doesn't work. It outputs "$last1day_n", "$last2day_n", ... "$last7day_n" instead of the correct integer values I am trying to echo. Is this the correct way to loop columns or am I approaching this the wrong way?

  • 写回答

2条回答 默认 最新

  • duanhong8839 2014-07-03 19:08
    关注

    You can try removing the "$" from the $dd value and then adding an extra "$" when you reference it.

    $dd = "last" . strval($i) . "day_n";
    
    echo $$dd;
    

    The "$$dd" basically says take the value of the variable named by the value of the variable "dd". So you set $dd to the name of the variable name you want, then take the value of that variable. This is called "variable variables" in PHP: http://www.php.net/manual/en/language.variables.variable.php

    评论

报告相同问题?

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)