Php测试空字符串

时间:2011-11-07 22:08:32

标签: php string

我有一些PHP代码,我不明白它为什么会按原样行事。我有一个名为contactId的变量,我想测试它是否为空。但是,即使它是空的,它的计算结果为true。代码如下。提前谢谢。

print "*".$contactId."*<br/>";
if($contactId != '')
{
    //queryContact($contactId);
    print "Contact Present<br/>";
}

返回屏幕的结果是:

  

**

     

联系礼物

5 个答案:

答案 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

在这里:http://us3.php.net/manual/en/language.types.null.php

答案 4 :(得分:0)

将来,请使用if(!empty($str)) { echo "string is not empty"}