3

这可能是一个简单而愚蠢的问题,但首先我正在学习 php,因此我们将不胜感激。

我正在尝试使用分配的条件语句来获取变量。

$gender = $curauth->gender; // getting from wordpress user profile.

if($gender === 'Male') {
    echo 'his';
} else {
    echo 'her';
}

所以我想做的是它会检查用户是否是男性,而不是在某些描述中它将使用他的,如果是女性,它将使用她。像下面的东西

echo 'jatin soni doesn't have set this option yet. His option will be deactivated soon.';

所以在这里将被设置为上面的条件代码。

4

4 回答 4

5

你可以echo直接说出来:

echo 'jatin soni doesn\'t have set this option yet. ', 
     ($gender === 'Male' ? 'His' : 'Her'), 
     ' option will be deactivated soon.';

如果您需要不止一次或出于可读性原因,您应该将其分配给一个变量:

# Default Female:
$gender = empty($curauth->gender) ? 'Female' : $curauth->gender;

$hisHer = $gender === 'Male' ? 'His' : 'Her';
echo 'jatin soni doesn\'t have set this option yet. ', 
     $hisHer, 
     ' option will be deactivated soon.';

下一步可能是双引号字符串Docs中的变量替换或使用printfDocs函数进行格式化输出。

于 2012-08-16T19:26:17.933 回答
4

这个怎么样?

<?php
$pronoun = $curauth->gender == 'Male' ? 'his' : 'her';
echo "Jatin Soni doesn't have set this option yet. " .
     ucfirst($pronoun) . " option will be deactivated.\n"
?>
于 2012-08-16T19:27:37.690 回答
3

执行此类操作的最常见方法是将动态部分分配给变量,然后在输出中使用该变量:

$gender = $curauth->gender; // getting from wordpress user profile.

if ($gender === 'Male') {
    $hisHer = 'His';
} else {
    $hisHer = 'Her';
}

echo "jatin soni doesn't have set this option yet. $hisHer option will be deactivated soon.";
于 2012-08-16T19:25:55.887 回答
1

如果你想要一个变量,你可以在一行中完成:

$gender = $curauth->gender; // getting from wordpress user profile.
$their = $gender == 'Male' ? $gender = 'His' : $gender = 'Her';
echo "$username doesn't have set this option yet. $their option will be deactivated soon.";
于 2012-08-16T19:30:26.297 回答