Php var_dump()以某种方式返回NULL
我制作了一个函数来验证到目前为止的电子邮件地址,并检查它们是否匹配 但它似乎不起作用,因为当我Php var_dump()以某种方式返回NULL,php,null,var-dump,Php,Null,Var Dump,我制作了一个函数来验证到目前为止的电子邮件地址,并检查它们是否匹配 但它似乎不起作用,因为当我var\u dump()时 我得到了null值,例如:null字符串(13)123@gmail.com。你能给我一些建议来解决这个问题吗?我完全卡住了 function email_validate_n_match($value) { if( $value == '') return; if( preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*
var\u dump()
时
我得到了null
值,例如:null字符串(13)123@gmail.com
。你能给我一些建议来解决这个问题吗?我完全卡住了
function email_validate_n_match($value)
{
if( $value == '') return;
if( preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $value) ) {
static $count = 0;
if($count == 0) {
$value1 = $value;
} else if($count == 1) {
$value2 = $value;
}
var_dump($value2);
// if ($value1 == $value2) {
// return;
// }else{
// $this->clear = false;
// return $this->tag_st . 'Doesn't match.' . $this->tag_ed;
// }
$count++;
return;
} else {
$this->clear = false;
return $this->tag_st . 'Put the correct email address.' . $this->tag_ed;
}
}
编辑:
谢谢你的回答
当我把这个
static $count = 0;
if($count == 0) {
$value1 = $value;
echo '0';
} else if($count == 1) {
$value2 = $value;
echo '1';
}
它输出01
。另一方面,
如果删除static,则会得到00
所以我认为这个
$count
是有效的,但是我仍然不明白为什么我得到了上面的NULL
结果。您设置$count=0,然后设置$value1=$value,但从来没有将$value2设置为任何值,因为$count不等于1,所以$value2为NULL,这就是var_dump给您NULL的原因。然后使用$count++将count增加到1,但下次运行时,count将设置回0。为什么要花时间验证电子邮件,而PHP有一个功能可以为您执行此操作?
例如:
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
echo "valid";
}else{
echo "not Valid";
}
在这里你可以找到更多
您考虑过用验证电子邮件吗?@piergialj:谢谢。要解决这个问题,我应该使用全局变量还是其他方法?我是新来使用php的。我不知道为什么要从$count变量开始。你需要它吗?你想用$count做什么?我想计算函数在这里被调用的次数。我只是想做一些函数,可以从表单中获取两个电子邮件地址,并检查它们的值是否为电子邮件地址加上它们是否同时匹配。