如果$ variable = 0不起作用

时间:2012-11-07 00:20:21

标签: php if-statement

if($_POST['user_admin'] = 0){ $acct_type = "a standard"; }
elseif($_POST['user_admin'] = 1){ $acct_type = "an administrator"; }
echo $acct_type;
echo $_POST['user_admin'];

$_POST['user_admin']是0还是1,$acct_type仍然会返回“管理员”为什么?

4 个答案:

答案 0 :(得分:10)

比较变量时需要使用“==”。

if($_POST['user_admin'] == 0){ $acct_type = "a standard"; }
elseif($_POST['user_admin'] == 1){ $acct_type = "an administrator"; }
echo $acct_type;
echo $_POST['user_admin'];

答案 1 :(得分:6)

应该是

if $variable == 0

答案 2 :(得分:2)

您要使用=赋值,您应该使用$ variable == 0来比较值

答案 3 :(得分:1)

您位于10 common PHP mistakes to avoid的第一位: - )

   $_POST['user_admin'] = 0 
   $_POST['user_admin'] = 1

都是作业。在将值赋给$ _POST ['user_admin']后,PHP会评估最终指定的表达式是true还是false。因此,第一个将评估为false,因为指定的值为0,第二个将评估为true,因为指定的值为1.

正如大家所指出的,你必须使用“==”而不是“=”作为条件语句。