多个If条件不起作用

时间:2018-04-18 05:56:34

标签: php arrays if-statement

下面是一个有两个键值对的数组:

Array ([web_tokens] => ft2TxdXhon8,fYTsgCoCrBY
       [phone_tokens] => c-hqzdEjs2M,dWahJ8MOfXY, dkYoMgoPNN8)

现在的问题是,如果我想在if statement内单独获取它们,只有第一个if statement正在运行。

if(!empty($tokens['web_tokens'])) {
     $tokens = explode(',',$tokens['web_tokens']);
     print_r($tokens);
}

if(!empty($tokens['phone_tokens'])) {
     $tokens = explode(',',$tokens['phone_tokens']);
     print_r($tokens);
} 

此处仅显示web_tokens,但不显示phone_tokens。表示即使数组具有phone_tokens值,第二个if条件也不起作用。

同样,当我评论第一个If statement时,第二个声明正常工作。

1 个答案:

答案 0 :(得分:4)

你正在覆盖第一个if中的值,因此第二个if将失败...

if(!empty($tokens['web_tokens'])) {
     $tokensWeb = explode(',',$tokens['web_tokens']);
     print_r($tokensWeb);
}

if(!empty($tokens['phone_tokens'])) {
     $tokensPhone = explode(',',$tokens['phone_tokens']);
     print_r($tokensPhone);
} 

使用通用名称可能会导致以后出现各种问题,请尝试使用更明确标识内容的名称。