单选按钮上的三元运算符

Ternary operator on Radio Button

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

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

为了理解三元运算符,我检查了这个 This。但在我的案例中我无法理解同一个运算符。

更新:还有谁能给我一个if-elseif -else到三元运算符的例子吗?

单选按钮 $_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"':'';

我认为下面的代码将帮助您理解三元运算符......

以下代码用于 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
    }
?>

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