1

我想将单个0作为字符串仅用于数据库注入,而不是00作为0000字符串。

$post["content"] = '00';

if (empty($post["content"]) && $post["content"] !== '0') 
{
     echo "this field must not be empty!";
}

它不会将其作为错误返回。

我应该怎么办?

4

2 回答 2

1

改用!trim()

<?php
$post["content"] = '00';


if ($post["content"] !== '0' && !trim($post["content"], '0')) 
{
    echo "this field must not be empty!";
}
?>
于 2013-09-28T18:07:29.413 回答
0

你的测试是错误的。

$single ="0";
$double = "00";

var_dump(empty($single)); // true
var_dump(empty($double)); // false

双零不为空。

不要empty()用于验证。你知道哪些值被认为是“空的”吗?有一些惊喜,这足以让我避免使用该功能。

于 2013-09-28T18:04:58.787 回答