Php 在空值和0之间进行差异
这是一种输入足球比赛结果的表格 表单从db获取已经输入的数据,并将其写入html表单的value参数中。如果db中的值为NULL,那么在html中Php 在空值和0之间进行差异,php,Php,这是一种输入足球比赛结果的表格 表单从db获取已经输入的数据,并将其写入html表单的value参数中。如果db中的值为NULL,那么在html中 value=""` 重要的是,没有输入的游戏不会在数据库中进行更改,所以我会在执行查询之前对其进行过滤。但现在可能会发生一场比赛以0:0结束,但db不会保证这一点。我怎么能说系统不是空的/空的,它是0 if(!empty($_POST[$tore_heim] OR !empty($_POST[$tore_gast]))){
value=""`
重要的是,没有输入的游戏不会在数据库中进行更改,所以我会在执行查询之前对其进行过滤。但现在可能会发生一场比赛以0:0结束,但db不会保证这一点。我怎么能说系统不是空的/空的,它是0
if(!empty($_POST[$tore_heim] OR !empty($_POST[$tore_gast]))){
$spiele_save = "UPDATE spiele SET tore_heim = '".$_POST[$tore_heim]."', tore_gast = '".$_POST[$tore_gast]."' WHERE id_spiele = ".$spiele_id[$i]."";
$spiele_save = mysqli_query($con, $spiele_save);};
};
检查值是否为
'0'
:!空($_POST[$tore_gast]))|$_POST[$tore_gast]==='0'
看看这个例子
函数isEmpty($variable){
}
如果(!isEmpty($tore_heim)){
}谢谢你,德克塞
if(isset($_POST[$tore_heim]) && strlen($_POST[$tore_heim]) > 0
OR
isset($_POST[$tore_gast]) && strlen($_POST[$tore_gast]) > 0)
问题解决了
isset(…)和&strlen(…)>0
…?!也许可以使用==
或进行检查==代码>操作员。这可能会有帮助。简单的答案是,看看,你会发现,零被认为是EMPTY@RiggsFolly那么,如何绕过它并使'0'
不为空?@Fabrizio Cocco我认为deceze的答案最好是isset(…)&&strlen(trim(…)>0这会有访问未定义索引并产生警告的风险!当为空时,它会尝试访问$\u POST[$tore\u gast]
,这可能意味着它不存在或0
。既然已经将值设置为isset
,为什么还要再次测试empty
。isset只检查变量是否已设置,然后检查变量是否不包含任何空值@那就用$变量
,它具有相同的结果,并且不使用多余的错误抑制<代码>空的
是设置的
+代码>,您已经完成了设置
,不要(隐式)重复它。
// run your code here...
if(isset($_POST[$tore_heim]) && strlen($_POST[$tore_heim]) > 0
OR
isset($_POST[$tore_gast]) && strlen($_POST[$tore_gast]) > 0)