我想在变量具有BLANK值或EMPTY或NULL值时显示错误。例如变量如下所示:
$mo = strtotime($_POST['MondayOpen']);
和
var_dump($_POST['MondayOpen'])
返回string(0) "".
现在我采用下面的方法
首先想找到哪种类型的变量$mo
?(字符串或
整数或其他)
哪个函数更适合找到没有价值的$mo
。
我使用$mo
进行测试并得到了这些结果
is_int($mo);//--Return nothing
is_string($mo); //--Return bool(false)
var_dump($mo); //--Return bool(true)
var_dump(empty($mo));//--Return bool(true)
var_dump($mo==NULL);//--Return bool(true)
var_dump($mo=='');//--Return nothing
请建议一种检查变量完整性的最佳方法
答案 0 :(得分:4)
var_dump输出变量用于调试目的,它不用于检查普通代码中的值。 PHP是松散类型的,大多数情况下,如果你的变量是一个字符串或一个int无关紧要,尽管如果你需要确保它是一个,或者使用is_函数进行检查,你可以抛出它。
测试某些东西是否为空:
if ( empty( $mo ) ) {
// error
}
如果变量为0,null,false或空字符串,则empty()返回true。
答案 1 :(得分:3)
PHP提供了一个函数isset
来检查变量是否不是NULL
和empty
来检查变量是否为空。
要返回类型,可以使用PHP函数gettype
if (!isset($mo) || is_empty($mo)) {
// $mo is either NULL or empty.
// display error message
}
答案 2 :(得分:3)
$mo = strtotime($_POST['MondayOpen']);
if ($mo !== false)
{
//valid date was passed in and $mo is type int
}
else
{
//invalid date let the user know
}
答案 3 :(得分:0)
您可以使用以下方式检查其类型:
gettype($mo);
但 null 和空是不同的东西,您可以查看这些功能:
if (empty($mo))
{
// it is empty
}
if (is_null($mo))
{
// it is null
}
检查变量是否已设置的另一种方法是使用 isset 构造。
if (isset($mo))
{
// variable has been set
}