当attremark为null时,我想在数组中按“Ab”。我使用下面的代码在数组中推送'Ab'。但它不会将它推入数组中。我的if条件有什么问题?
$q1 = "select to_char(tin, 'DD-MON-YYYY hh24:mm:ss') as tin,
to_char(tout, 'dd-mm-yyyy hh24:mm:ss') as tout from npinout
where compcode='".$compcode."'
and empcode='".$empcode."'
and to_char(tin, 'MON-YYYY') ='".$date."'
and trunc(tin)='".$stmtb['DT']."'
ORDER BY tin " ;
$rs1=oci_parse($con,$q1);
$ex1=oci_execute($rs1);
while($row1= oci_fetch_assoc($rs1))
{
if($stmtb['ATTREMARK']=='')
{
$stmtc['TIN']="Ab";
$stmtc['TOUT']="Ab";
}
else
{
$stmtc['TIN']=$row1['TIN'];
$stmtc['TOUT']=$row1['TOUT'];
}
echo json_encode($stmtc);
}
当php中的attremark为空时,如何在数组中按'Ab'?
答案 0 :(得分:0)
比较很奇怪。最好的办法是在该值上var_dump
。所以你可以看到它到底是什么。我的猜测是它只是null。
if (is_null($stmtb['ATTERMARK'])
我认为你的问题是你正在寻找一个空字符串''
,它实际上并不是空的。需要注意的另一件事是你的条件==
!= ===
。如果您想检查它是否为空,则更好的解决方案是($stmtb['ATTERMARK'] === null)
。
答案 1 :(得分:0)
这将帮助您检查密钥的空值。
//checking for both null and empty
if(empty($stmtb['ATTREMARK']) || is_null($stmtb['ATTREMARK'])){
// do your stuff here
}
如果您只想检查null或空,请使用单次检查。