我想将单个0
作为字符串仅用于数据库注入,而不是00
作为0000
字符串。
$post["content"] = '00';
if (empty($post["content"]) && $post["content"] !== '0')
{
echo "this field must not be empty!";
}
它不会将其作为错误返回。
我应该怎么办?
改用!trim()
:
<?php
$post["content"] = '00';
if ($post["content"] !== '0' && !trim($post["content"], '0'))
{
echo "this field must not be empty!";
}
?>
你的测试是错误的。
$single ="0";
$double = "00";
var_dump(empty($single)); // true
var_dump(empty($double)); // false
双零不为空。
不要empty()
用于验证。你知道哪些值被认为是“空的”吗?有一些惊喜,这足以让我避免使用该功能。