Php 嵌套的If语句
我有下面的if语句,它运行良好:Php 嵌套的If语句,php,if-statement,Php,If Statement,我有下面的if语句,它运行良好: if ($user['email_only'] === '1') { $newsubscriber['subscriberMessage'] = array('masterId' => '1090438'); } else if($user['email_only'] === '0') { $newsubscriber['subscriberMessage'] = array('masterId' => '1090442'); }
if ($user['email_only'] === '1') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090438');
} else if($user['email_only'] === '0') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090442');
}
然而,我想在这个问题上添加一个额外的if语句,这样我就可以根据用户所在国家设置不同的id,我提出了以下建议,但它不起作用
if ($user['country'] === 'au') {
if($user['email_only'] === '1') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1091479');
} else {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090589');
}
} // AU country END
else if ($user['country'] === 'de') {
if($user['email_only'] === '1') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090438');
} else {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090442');
}
} // DE country END
有人能帮我找出哪里出了问题吗?实际上,您应该正确格式化代码。。。我也不会在这混乱中发现错误
if ($user['country'] === 'au'){
if ($user['email_only'] === 1) {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090438');
}else if($user['email_only'] === 0){
$newsubscriber['subscriberMessage'] = array('masterId' => '1090442');
}//AU END
} else if ($user['country'] === 'de'){
if ($user['email_only'] === 1) {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090438');
}else if($user['email_only'] === 0){
$newsubscriber['subscriberMessage'] = array('masterId' => '1090442');
}
} //DE END
不要使用完全相等的(===
),除非您需要并且绝对确定所获得的数据。试试这个:
if ($user['country'] == 'au') {
if($user['email_only'] == '1') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1091479');
} else {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090589');
}
} // AU country END
else if ($user['country'] == 'de') {
if($user['email_only'] == '1') {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090438');
} else {
$newsubscriber['subscriberMessage'] = array('masterId' => '1090442');
}
} // DE country END
您可以做的另一件事是
var\u dump($user)
确保您在国家/地区中有预期值,并仅通过电子邮件发送您预期的值。首先以正确的方式缩进代码。这是一个巨大的不同。顺便说一句什么不起作用?你有什么错误吗?它不起作用,没有什么帮助。它应该做什么,它实际上在做什么?您是否收到任何错误消息?是否确定$user['country']是字符串?是否确定$user['email\u only']
是'1'
而不是1
或true
?除了格式化之外还有什么区别?区别在于我从数字中删除了引号,因为我认为这些实际上不是数字。哦。好。这就是你在没有注意的情况下使用复制和粘贴的结果。谢谢,我会修好的。