我正在编辑脚本的一部分,该脚本显示某个人的性别但尝试添加其他选项。
保存信息的表单将其保存为值。
在我的lang文件中,这与我想要改变的部分有关:
$LNG['powner'] = 'Pet Owner';
$LNG['dog'] = 'Dog';
$LNG['cat'] = 'Cat';
$LNG['rabbit'] = 'rabbit';
我试图显示的代码部分是
((!empty($profile['gender'])) ? '<div class="sidebar-list">'.$LNG['ttl_gender'].':
<strong>'.(($profile['gender'] == 1) ? $LNG['powner'] :($profile['gender'] == 2) ?
$LNG['cat'] : ($profile['gender'] == 3) ? $LNG['rabbit'] : $LNG['rabbit']).'</strong>
</div>' : '').'
但它只显示猫或兔子......
我认为代码设置为一个或另一个,因为这有效:
((!empty($profile['gender'])) ? '<div class="sidebar-list">'.$LNG['ttl_gender'].'
: <strong>'.(($profile['gender'] == 1) ? $LNG['dog'] : $LNG['cat']).'</strong></div>'
: '').
之后的代码
'.((!empty($profile['website'])) ? '<div class="sidebar-list">'
.$LNG['profile_website'].': <strong><a href="'.$profile['website'].
'" target="_blank" rel="nofllow">'.$LNG['profile_view_site'].'</a>
</strong></div>' : '').'
答案 0 :(得分:0)
您的代码可以重写为:
if(!empty($profile['gender']) {
echo '<div class="sidebar-list">'.$LNG['ttl_gender'];
} else {
echo "<strong>";
if($profile['gender'] == 1) {
echo $LNG['powner'];
} else {
if($profile['gender'] == 2) {
echo $LNG['cat'];
}
else {
if($profile['gender'] == 3){
echo $LNG['rabbit'];
} else {
echo $LNG['rabbit'];
}
}
}
}
正如您所看到的那样,代码使用简写的If / Else语句会让人感到困惑,并且会导致错误。以更易读的方式重写您的功能,您将防止错误,并对实际情况应该是混淆。
我假设您遇到的问题是您正在测试此版本的用户是性别2或3,而不是1。