我正在尝试在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;而不是我试图回应的正确整数值。这是循环列的正确方法还是我接近错误的方法?
答案 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/