区分NULL和0

时间:2018-02-23 09:29:26

标签: php if-statement null

抱歉,这似乎是一个重复的问题,但它混淆了为什么我无法通过一个下拉框来区分null和0。

我有一个带有一些PHP的下拉框,它从数据库中选择一个值并将其分配给$user。默认值为null,但我想将其更改为0或2(对于票数,所以null是我没有被分配任何,0是我不想给他们任何,2是他们得到2)。基本上下面的代码并没有区分null和0,并且基于我读过的其他帖子我觉得它应该但显然我错过了一些东西。

<option value="" <?php if( is_null($user)){ echo 'selected'; }?>>Not Set</option>
<option value="0" <?php if($user === 0){ echo 'selected'; }?>>0</option>
<option value="2" <?php if($user === 2){ echo 'selected'; }?>>2</option>

我也试过

<option value="" <?php if($user === NULL){ echo 'selected'; }?>>Not Set</option>
<option value="0" <?php if($user === 0){ echo 'selected'; }?>>0</option>
<option value="2" <?php if($user === 2){ echo 'selected'; }?>>2</option>

<option value="" <?php if($user === ''){ echo 'selected'; }?>>Not Set</option>
<option value="0" <?php if($user === 0){ echo 'selected'; }?>>0</option>
<option value="2" <?php if($user === 2){ echo 'selected'; }?>>2</option>

任何帮助表示感谢。

修改

var_dump($user) = string(1) "0"

$user = NULL$user = 0

的情况相同

在我的本地xampp var_dump($user)=int(0)var_dump($user)=NULL上,相同的代码在实时版本上的行为有所不同。

0 个答案:

没有答案