我要显示30个变量,但写30次代码并不聪明。我该如何改进这段代码?谢谢!!
<?php if ($dimension_01_label) { ?>
<tr>
<td><?= $dimension_01_label ?></td>
<td><?= $dimension_01 ?></td>
</tr>
<?php }; ?>
<?php if ($dimension_02_label) { ?>
<tr>
<td><?= $dimension_02_label ?></td>
<td><?= $dimension_02 ?></td>
</tr>
<?php }; ?>
<?php if ($dimension_03_label) { ?>
<tr>
<td><?= $dimension_03_label ?></td>
<td><?= $dimension_03 ?></td>
</tr>
<?php }; ?>
答案 0 :(得分:1)
您可以使用两件事:
{}
示例使用动态变量:Dynamic variable names in PHP 答案 1 :(得分:0)
您可以使用variable of variable
-
for($i = 1; $i <=30; $i++) {
$var1 = "dimension_".str_pad($i, 2, 0, STR_PAD_LEFT)."_label";
$var2 = "dimension_".str_pad($i, 2, 0, STR_PAD_LEFT);
if ($$var1) {
echo "<td>".$$var1."</td><td>".$$var2."</td>";
}
}
答案 2 :(得分:0)
<?php
for($i = 1; $i++; $i<=30){
?>
<tr>
<td><?php print $dimension_.$i."_label"; ?></td>
<td><?php print $dimension_.$i; ?></td>
</tr>
<?php
}
?>
答案 3 :(得分:0)
如果你重新编写变量结构并使用数组会更容易,但使用当前格式你可以做类似的事情 -
<?php
for($i=1;$i<=30;$i++){
if (${"dimension_".str_pad($i, 2, "0", STR_PAD_LEFT)."_label"}) { ?>
<tr>
<td><?= ${"dimension_".str_pad($i, 2, "0", STR_PAD_LEFT)."_label"} ?></td>
<td><?= ${"dimension_".str_pad($i, 2, "0", STR_PAD_LEFT)} ?></td>
</tr>
<?php
}
}
?>
答案 4 :(得分:0)
使用类似的东西
$dimension[0] = something;
$dimension[1] = something;
依旧......
并在印刷时
for($i=0;$i<count($dimension);$i++)
{ ?>
<tr>
<td><?= $dimension[$i] ?></td>
<td><?= $dimension[$i] ?></td>
</tr>
<?php
}
?>