我只想学习一些代码 . 我这里有一些代码,这些代码重复了很多次
它可能是凌乱的代码,因为我不是专业人士 .
<td><?php if ($row["boption03"] >= 1) echo "
<input
name='orderdetails[" . $row['prod_selectname'] . 03 . "]'
id='" . $row['prod_selectname'] . 03 . "'
placeholder='3mg' type='number'
class='liq03 form-control'"?> <?php if ($row["boption03"] == 2) echo "disabled" ?>
<?php if ($row["boption03"] >= 1) echo "/>"?>
</td>
我试图把它放在一个函数中(因为我觉得它更好更整洁)
这是我到目前为止所拥有的
function liquidBox($boptionStrength) {
if ($row["boption$boptionStrength"] >= 1) echo "
<input
name='orderdetails[" . $row['prod_selectname'] . $boptionStrength . "]'
id='" . $row['prod_selectname'] . $boptionStrength . "'
placeholder='$boptionStrength' type='number'
class='liq$boptionStrength form-control'" . (($row["boption$boptionStrength"] == 2)?'disabled':"") . "/>";
}
并通过它来调用它
<td><?php liquidBox("00"); ?></td>
但它没有输出任何东西 .
有人可以指出我正确的方向 .
谢谢
如果我把var_dump($ boptionStrength)放在“if”之前然后我得到输出int(3)所以变量被传递给函数 - 由Cid建议
3 回答
试试这个:
感谢来自Cid(sprintf)和Rishat($ row,boptionStrength)的提示,我似乎已经设法了
这是我的最终结果
我正在使用以下内容来调用该函数
谢谢你的帮助
您可以使用sprintf()将数值格式化为0前缀字符串 .
在你的情况下,
sprintf("%02d", $boptionStrength);
.%
表示会有转化 .0
表示转换将使用此字符进行填充 .2
表示最多有2个填充字符 .d
是十进制的 .在示例中,使用您的函数: