如果声明命中它不应该

时间:2013-05-31 21:17:59

标签: php variables if-statement variable-assignment

我正在运行PHP 5.3并且正在运行遇到一个奇怪的问题。有没有人遇到过这个问题?

if(isset($_POST['favorites'])) { $fave = $_POST['favorites']; }
elseif(isset($_GET['favorites'])) { $fave = $_GET['favorites']; } else { $fave = 0; }

echo $fave; //echoes 0

if($fave=="addto"){ //This is called and looks like $fave is temporarily set to "addto"

echo $fave; //echoes 0

}

$ fave永远不会设置为“addto”但if语句由于某种原因将其视为“addto”。任何人以前都遇到过这种情况,或者有什么想法让它按照应有的方式运作?

2 个答案:

答案 0 :(得分:0)

试试这个并查看打印出的值:

echo 'Post [Favorites]: ' . $_POST['favorites'] . '<br><br>';

if(isset($_POST['favorites'])) { 
    $fave = $_POST['favorites']; 
}elseif(isset($_GET['favorites'])) { 
    $fave = $_GET['favorites']; 
}else{ 
    $fave = 0; 
}

echo 'Value of \$fave: ' . $fave . '<br><br>';

if($fave=="addto"){ 
    //This is called and looks like $fave is temporarily set to "addto"
    echo 'Inside IF ADDTO. Value of \$fave: ' . $fave . '<br><br>';
}

答案 1 :(得分:0)

使用===

比较变量类型
if($fave==="addto")
相关问题