Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的函数不输出任何东西?_Php_Function_If Statement - Fatal编程技术网

Php 为什么我的函数不输出任何东西?

Php 为什么我的函数不输出任何东西?,php,function,if-statement,Php,Function,If Statement,我只是想学习一下代码。 我这里有一段代码,重复了好几次 这可能是混乱的代码,因为我不是专业人士 <td><?php if ($row["boption03"] >= 1) echo " <input name='orderdetails[" . $row['prod_selectname'] . 03 . "]' id='" . $row['prod_selectname'] . 03 . "'

我只是想学习一下代码。 我这里有一段代码,重复了好几次

这可能是混乱的代码,因为我不是专业人士

<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($row, $boptionStrength) {
    if ($row["boption0".$boptionStrength] == 2) {
        echo "<input name='orderdetails[" . $row['prod_selectname'] . $boptionStrength . "]' id='" . $row['prod_selectname'] . $boptionStrength . "' placeholder='$boptionStrength' type='number'   class='liq$boptionStrength form-control'" . " disabled />";
    } else {
        echo "<input name='orderdetails[" . $row['prod_selectname'] . $boptionStrength . "]' id='" . $row['prod_selectname'] . $boptionStrength . "' placeholder='$boptionStrength' type='number'   class='liq$boptionStrength form-control' />";
    }
}

<td><?php liquidBox($row, 1); ?></td>
功能液箱($row,$BOPTIONSTRENGHT){
如果($row[“boption0”。$BOPTIONSTRENGHT]==2){
回声“;
}否则{
回声“;
}
}
您可以使用将数值格式化为带0前缀的字符串

在您的例子中,
sprintf(“%02d”,$booptionstrength)<代码>%
表示将进行转换
0
表示转换将使用此字符填充
2
表示最多有2个填充字符<代码>d
表示十进制

echo sprintf("%02d", 0);    //outputs 00
echo sprintf("%02d", null); //outputs 00
echo sprintf("%02d", 3);    //outputs 03
echo sprintf("%02d", 42);   //outputs 42
echo sprintf("%02d", 123);  //outputs 123
在示例中,使用您的函数:

function liquidBox($boptionStrength)
{
    $boptionStrength = sprintf("%02d", $boptionStrength);
    if ($row["boption$boptionStrength"] >= 1)
    {
        //your code
    }
}

多亏了Cid(sprintf)和Rishat($row,boptionStrength)的提示,我似乎已经做到了这一点

这是我的最终结果

function liquidBox($row, $boptionStrength, $phtext) 
{
$boptionStrength = sprintf("%02d", $boptionStrength);
if ($row["boption$boptionStrength"] >= 1) 
 /*var_dump($boptionStrength); */

{echo "
    <input 
    name='orderdetails[" . $row['prod_selectname'] . $boptionStrength . "]' 
    id='" . $row['prod_selectname'] . $boptionStrength . "'
    placeholder='$phtext' 
    type='number' 
    class='liq$boptionStrength form-control'" . (($row["boption$boptionStrength"] == 2)?'disabled':"") . "/>";}

}
函数liquidBox($row,$boptionStrength,$phtext)
{
$BOPTIONSTRENGHT=sprintf(“%02d”,$BOPTIONSTRENGHT);
如果($row[“选项$BOPTIONSTRENGHT”]>=1)
/*var_dump($boptionStrength)*/
{echo“
";}
}
我用下面的函数调用这个函数

        <td><?php liquidBox($row, 00, '0mg'); ?></td>
        <td><?php liquidBox($row, 03, '3mg'); ?></td>
        <td><?php liquidBox($row, 06, '6mg'); ?></td>
        <td><?php liquidBox($row, 12, '12mg'); ?></td>
        <td><?php liquidBox($row, 18, '18mg'); ?></td>
        <td><?php liquidBox($row, 20, '20mg'); ?></td>


感谢您的帮助

您确定索引
boption$boptionStrength
?在您的if语句之前,我将添加以下内容作为调试:
var_dump($row[“boption$boptionStrength]”)朱尔斯,选项$BOPTIONSTRENGHT应该是boption####其中##是$BOPTIONSTRENGHT的值,因此在第一行CID中等于boption00,我尝试了该选项,如果我尝试此变量转储($BOPTIONSTRENGHT),则在每个行CID中都为NULL;然后我得到输出int(3)$BOPTIONSTRENGHT不在数据库中,它是我从函数调用ie ThanksRishat传递的值,这会在每一行上输出,因此会回显第二个实例。我确实需要if inside在函数中显示“disabled”(已禁用),因为该函数中有3个选项1:不可用(显示否)2:已启用(显示)3:已禁用(显示为禁用状态)您可以更改条件。使用“if()elseif()else”。
function liquidBox($row, $boptionStrength, $phtext) 
{
$boptionStrength = sprintf("%02d", $boptionStrength);
if ($row["boption$boptionStrength"] >= 1) 
 /*var_dump($boptionStrength); */

{echo "
    <input 
    name='orderdetails[" . $row['prod_selectname'] . $boptionStrength . "]' 
    id='" . $row['prod_selectname'] . $boptionStrength . "'
    placeholder='$phtext' 
    type='number' 
    class='liq$boptionStrength form-control'" . (($row["boption$boptionStrength"] == 2)?'disabled':"") . "/>";}

}
        <td><?php liquidBox($row, 00, '0mg'); ?></td>
        <td><?php liquidBox($row, 03, '3mg'); ?></td>
        <td><?php liquidBox($row, 06, '6mg'); ?></td>
        <td><?php liquidBox($row, 12, '12mg'); ?></td>
        <td><?php liquidBox($row, 18, '18mg'); ?></td>
        <td><?php liquidBox($row, 20, '20mg'); ?></td>