Php 如何将零整数与值进行比较
在数据库中,学生id包含0值。我想检查它是否符合条件,但未达到要求的结果。我在if条件下尝试了以下场景:Php 如何将零整数与值进行比较,php,Php,在数据库中,学生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(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时,不会打印任何内容。如果学生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
尝试:
除非您的值不是真正的0,否则这应该有效
if(intval($item['student_id']) == 0){}
另一种可行的方法是,你几乎做到了:
if($item['student_id'] === '0'){}
但再一次,确保你真的有一个0在那里。。。您可以为我们设置var_dump$item以确保其正确性吗?若要按值比较零,请首先将检索到的数据更改为整数,然后使用===符号进行比较,以确保它们在值和类型上都相等:
if((int)$item['student_id'] === 0){}
if(intval($item['student_id']) === 0){}
如果$item['student_id']>0{},您确定$item['student_id']中有值吗?如果是,该值是多少?仅供参考:最后一个版本将发出关于在双引号字符串内的数组中使用引号键的警告。
if(intval($item['student_id']) === 0){}