PHP生成列循环?

时间:2014-07-03 19:02:16

标签: php html loops

我正在尝试在html中生成一个列循环。 这是常规代码,以正确的格式工作并输出我想要的所有内容。

<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>

我正在尝试使用将生成这些列的循环替换echo $ last1day_n,$ last2day_n等。这是我到目前为止所尝试过的。

<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 }  ?>

这不起作用。它输出&#34; $ last1day_n&#34;,&#34; $ last2day_n&#34;,...&#34; $ last7day_n&#34;而不是我试图回应的正确整数值。这是循环列的正确方法还是我接近错误的方法?

2 个答案:

答案 0 :(得分:1)

您可以尝试从$ dd值中删除“$”,然后在引用时添加额外的“$”。

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

echo $$dd;

“$$ dd”基本上表示取变量值“dd”命名的变量的值。因此,您将$ dd设置为所需的变量名称,然后获取该变量的值。这在PHP中称为“变量变量”:http://www.php.net/manual/en/language.variables.variable.php

答案 1 :(得分:0)

$$ dd不起作用。 我用它做了它的工作:

<?php 
   for ($i = 1; $i <= 7; $i++) {
       $dd = ${'last' . $i . 'day_n'};
       echo $dd;
   }
?>

来源:http://forums.asmallorange.com/topic/5427-php-convert-string-to-variable/