我试图通过一本书&我在第二章,所以我觉得这部分不是那么难,但我无法弄清楚。
它希望我将此部分重写为一个条件而不是两个嵌套的条件 - 它还提示说我必须使用AND运算符 - :
if (isset($_REQUEST['gender'])) {
$gender = $_REQUEST['gender'];
if ($gender == 'M') {
echo '<p><b>Good day, Sir!</b></p>';
} elseif ($gender == 'F') {
echo '<p><b>Good day, Madam!</b></p>';
} else { // Unacceptable Value.
$gender = NULL;
echo '<p class="error">Gender should be either "M" or "F"!</p>';
}
} else { // $_REQUEST['gender'] is not set.
$gender = NULL;
echo '<p class="error">You forgot to select your gender!</p>';
}
这是我使用的解决方案:
if (isset($_REQUEST['gender']) && $_REQUEST['gender']=='M'){
$gender = $_REQUEST['gender'];
echo '<p><b>Good day, Sir!</b></p>';
}
elseif (isset($_REQUEST['gender']) && $_REQUEST['gender']=='F'){
$gender = $_REQUEST['gender'];
echo '<p><b>Good day, Madam!</b></p>';
}
else{
$gender = NULL;
echo '<p class="error">You forgot to select your gender!</p>';
}
答案 0 :(得分:3)
if (!isset($_REQUEST['gender'])) {
echo "BAH";
} elseif (strtoupper($_REQUEST['gender']) === 'M') {
echo "SIR";
} elseif (strtoupper($_REQUEST['gender']) === 'F') {
echo "MADAM";
} else {
echo "UNKNOWN";
}
答案 1 :(得分:1)
这将在没有嵌套循环的情况下检查您的状况。使用AND运算符。
if (isset($_REQUEST['gender']) && $_REQUEST['gender']=='M'){
echo '<p><b>Good day, Sir!</b></p>';
}
else if (isset($_REQUEST['gender']) && $_REQUEST['gender']=='F'){
echo '<p><b>Good day, Madam!</b></p>';
}
else if(isset($_REQUEST['gender']) && ( $_REQUEST['gender']!='M'
|| $_REQUEST['gender']!='F')){
echo "INVALID INPUT";
}
else{
echo '<p class="error">You forgot to select your gender!</p>';
}
答案 2 :(得分:1)
只是为了它! (如同,这将起作用,但非常神秘: - )
echo (array_key_exists("gender",$_REQUEST))?
(strtoupper($_REQUEST['gender'])=="M")?"Good day, Sir!":
((strtoupper($_REQUEST['gender'])=="F")?"Good day, Madam!":
"Gender should be either 'M' or 'F'!"):"You forgot to select your gender!";
作为单行...
echo (array_key_exists("gender",$_REQUEST))?(strtoupper($_REQUEST['gender'])=="M")?"Good day, Sir!":((strtoupper($_REQUEST['gender'])=="F")?"Good day, Madam!":"Gender should be either 'M' or 'F'!"):"You forgot to select your gender!";
看看马,不,如果! ; - )
答案 3 :(得分:0)
使用switch语句,您只需要一个if
if (!isset($gender))
echo "no gender specified";
else
switch($gender) {
case "M":
case "m":
echo "Good day, Sir"; break;
case "F":
case "f":
echo "Good day, Madam"; break;
default:
echo "What gender are you?";
}