【问题标题】:Ternary operator on Radio Button单选按钮上的三元运算符
【发布时间】:2015-05-15 13:21:09
【问题描述】:

我是 PHP/编程新手。我无法理解用于单选按钮的这种三元运算符条件。谁能告诉我如何将其转换为简单的if else 类型条件。?

<?php if($_POST['midnightdelivery'])
    {
        echo ($_POST['midnightdelivery'] == 0)?'checked="checked"':'';
    }
else
    { 
        echo 'checked="checked"'; 
    }
?>

我检查了这个This 以了解三元运算符。但在我的情况下,我无法理解相同的运算符。

更新:也有人可以给我一个if-elseif -else 到三元运算符的例子吗?

【问题讨论】:

  • 您正在做的是在您的代码中同时使用if elseternary

标签: php html if-statement ternary-operator


【解决方案1】:

我认为下面的代码可以帮助你理解三元运算符......

以下代码用于 current_file.php 使用 if elseif else.....

    <?php
    if(isset($_POST["submit"]))
    {
        $gender = $_POST['gender'];
        if($gender == male)
        {
            $selected_radio_button = "checked='checked'";
        }
        elseif($gender == female)
        {
            $selected_radio_button = "checked='checked'";
        }
        else
        {
            $selected_radio_button = "";
        }
        ?>
        <form action="#">
            <input type='radio' name='gender' value='male' <?php echo $selected_radio_button; ?>> Male
            <input type='radio' name='gender' value='female' <?php echo $selected_radio_button; ?>> Female
            <input type='submit' name='submit' value='Submit'>
        </form>
        <?php
    }
    else
    {
    ?>
    <form name='rform' method='post' action='current_file.php'>
         <input type='radio' name='gender' value='male'> Male
         <input type='radio' name='gender' value='female'> Female
         <input type='submit' name='submit' value='Submit'>
    </form>
<?php
    }
?>

现在,下面的代码是 current_file.php 使用三元运算符......

    <?php
    if(isset($_POST["submit"]))
    {
        $gender = $_POST['gender'];
        ($gender == "male" || $gender == "female") ? $selected_radio_button = "checked='checked'" : $selected_radio_button = "";
        ?>
        <form action="#">
            <input type='radio' name='gender' value='male' <?php echo $selected_radio_button; ?>> Male
            <input type='radio' name='gender' value='female' <?php echo $selected_radio_button; ?>> Female
            <input type='submit' name='submit' value='Submit'>
        </form>
        <?php
    }
    else
    {
    ?>
    <form name='rform' method='post' action='current_file.php'>
         <input type='radio' name='gender' value='male'> Male
         <input type='radio' name='gender' value='female'> Female
         <input type='submit' name='submit' value='Submit'>
    </form>
<?php
    }
?>

两台服务器的结果相同,但三元运算符使用的代码行更少.... 希望这会对你有所帮助...

【讨论】:

  • 谢谢。正如预期的解释(附示例)。
【解决方案2】:

单选按钮$_POST['midnightdelivery'] 将传递其值,而不是 1 或 0 表示选中或未选中。

您可以按如下方式设置单选按钮,以获取 1 或 0 表示选中和未选中。

<input name="midnightdelivery" type="radio" value="1" checked="checked" />
<input name="midnightdelivery" type="radio" value="0"  />

你可以使用

echo ($_POST['midnightdelivery'] == '1')?'checked="checked"':'';

【讨论】:

    猜你喜欢
    • 2021-12-15
    • 2014-11-07
    • 2023-01-13
    • 2021-06-29
    • 2022-01-08
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    相关资源
    最近更新 更多