我是PHP / Programming的新手。我无法理解用于单选按钮的这种三元运算符条件。任何人都可以告诉我如何将其转换为简单的if else
类型条件。?
<?php if($_POST['midnightdelivery'])
{
echo ($_POST['midnightdelivery'] == 0)?'checked="checked"':'';
}
else
{
echo 'checked="checked"';
}
?>
我检查了这个This以了解三元运算符。但在我的情况下我无法理解同一个算子。
更新:也有人可以给我一个if-elseif -else
到三元运营商的例子吗?
答案 0 :(得分: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
}
?>
两台服务器的结果相同,但三元运算符使用较少的代码行.... 希望这会对你有所帮助......
答案 1 :(得分:0)
单选按钮$_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"':'';