如何将零整数与值进行比较

时间:2012-11-06 14:18:26

标签: php

在数据库中,Student_id包含0值。如果有条件,我想检查它,但是没有达到要求的结果。我在if条件中尝试了以下场景:

if(is_null($item['student_id'])) {}

if($item['student_id'] === 0){}

if($item['student_id'] == 0){}

if(intval($item['student_id']) == 0){}

if(strval("$item['student_id']") == "0"){}

注意:目前Iam尝试在if条件下打印一些消息。但是在student_id = 0时,没有打印任何内容。如果student_id不是0,那么打印工作正常。

有人可以指导我做错了什么以及如何纠正。

我添加了var_dump

    array
  '_id' => 
    object(MongoId)[2]
      public '$id' => string '50906d7fa3c412bb040eb577' (length=24)
  'student_id' => int 0
  'type' => string 'exam' (length=4)
  'score' => float 54.653543636265
array
  '_id' => 
    object(MongoId)[6]
      public '$id' => string '50906d7fa3c412bb040eb578' (length=24)
  'student_id' => int 0
  'type' => string 'quiz' (length=4)
  'score' => float 31.950044967421
array
  '_id' => 
    object(MongoId)[2]
      public '$id' => string '50906d7fa3c412bb040eb579' (length=24)
  'student_id' => int 0
  'type' => string 'homework' (length=8)
  'score' => float 14.850457681164

4 个答案:

答案 0 :(得分:1)

尝试:

if((int) $item['student_id'] === 0){
....
}

答案 1 :(得分:1)

这应该有效,除非你的值不是真的。

if(intval($item['student_id']) == 0){}

另一种可行的方法是,你几乎拥有它:

if($item['student_id'] === '0'){}

但话又说回来,请确保你真的有一个0 ...你能为我们确定var_dump $ item吗?

答案 2 :(得分:0)

if((int)$item['student_id'] === 0){}

答案 3 :(得分:0)

要按值进行比较,首先将检索到的数据更改为整数,然后使用===符号进行比较,以确保它们在值和类型中都是等效的:

if(intval($item['student_id']) === 0){}