我有一些PHP代码,我不明白它为什么会按原样行事。我有一个名为contactId的变量,我想测试它是否为空。但是,即使它是空的,它的计算结果为true。代码如下。提前谢谢。
print "*".$contactId."*<br/>";
if($contactId != '')
{
//queryContact($contactId);
print "Contact Present<br/>";
}
返回屏幕的结果是:
**
联系礼物
答案 0 :(得分:9)
如果您想确切了解字符串是什么,只需使用var_dump()
,例如:
var_dump($contactId)
而不是
print "*".$contactId."*<br/>";
答案 1 :(得分:2)
你可以尝试一些事情:
if (!empty($contactId)) {
// I have a contact Id
}
// Or
if (strlen($contactId) > 0) {
// I have a contact id
}
根据我的经验,我经常使用后两种解决方案,因为有些情况我希望变量的值为0,这在某些情况下是有效的。例如,如果我有一个饮料搜索网站,并想要表明某种成分是否是非酒精性的,我会给它指定一个值为0(即IngredientId = 7,Alcoholic = 0)。
答案 2 :(得分:1)
使用if (isset($contactId)) {}
。
答案 3 :(得分:0)
你可能想要:
if (strlen($contactId))
您需要了解''
和null
之间以及==
和===
之间的区别。见这里:http://php.net/manual/en/language.operators.comparison.php
答案 4 :(得分:0)
将来,请使用if(!empty($str)) { echo "string is not empty"}
。