PHP empty()表现得很奇怪

时间:2010-12-10 10:26:09

标签: php

我遇到过一个问题,在我的本地LAMP设置(运行PHP 5.3)中,使用empty()测试空字符串按预期工作,但是在远程服务器上运行相同的站点(PHP 5.1.6) )表现不同,因为empty()不识别空字符串。见下文:

表单提交一个空文本字段值,php使用以下代码测试它是否为空:

if ( ! empty($_POST['field'])
// On the remote server, the above condition never evaluates an empty field as empty. However, if i change this to the following, it works correctly..
if ($_POST['field'] !== '')

任何人都有任何线索可能会发生这种情况?

2 个答案:

答案 0 :(得分:4)

空字符串不是唯一的“空”值。 $_POST['field']的值很可能是null,例如,!== ''。请参阅:http://php.net/manual/en/function.empty.php

答案 1 :(得分:0)

if ( ! empty($_POST['field']) 它在您的代码中或仅在问题中?它应该是:

if (!empty($_POST['field'])) {
    echo 'something';
}