2013-04-21 42 views
0

enter image description here条件来检查了一下现场

...我正在检查该字段像这样:

if((bool)$website['IsDeleted']) { }

但不管它总是返回在MySQL中值的空字符串现场阉其01

["IsDeleted"]=> string(1) "" }

请告诉我我在这里做什么? if条件是否应该修改?

+0

是不是'if($ website ['IsDeleted']){}'? – Amir 2013-04-21 06:59:34

+0

@Amir - 他将变量$ website ['IsDeleted']转换为布尔值 - 这没什么问题。 – bestprogrammerintheworld 2013-04-21 07:24:06

+0

@Nimbuz那么你的意思是它总是执行'else'语句,无论它是0还是1? – Amir 2013-04-21 08:12:58

回答

0

我看不出你的if语句有什么问题。

<?php 
$website['IsDeleted'] = 1; 
if((bool)$website['IsDeleted']) { echo 'found you';} 
?> 

将输出 找到你

<?php 
$website['IsDeleted'] = 1; 
if((bool)$website['IsDeleted']) { echo $website['IsDeleted'];} 
?> 

将输出1

如果值为NULL,它虽然不会工作。然后你将不得不检查NULL值。

<?php 
$website['IsDeleted'] = null; 
if((bool)$website['IsDeleted'] || $website['IsDeleted'] === null) { echo 'found you';} 
?> 

会输出找到你。

+0

我无法手动设置该值。必须从数据库中提取并检查。 – 3zzy 2013-04-21 06:40:42

+0

看起来从db中获取的值是实际的问题,然后(而不是if语句)。你如何做抓取? – bestprogrammerintheworld 2013-04-21 06:48:44