Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:静态属性不接受赋值_Php_Static_Variable Assignment - Fatal编程技术网

PHP:静态属性不接受赋值

PHP:静态属性不接受赋值,php,static,variable-assignment,Php,Static,Variable Assignment,我开始对我遇到的问题感到沮丧。我使用if语句为一个名为error的静态属性赋值。有趣的是,只有第二个if实际赋值,而第一个if没有赋值 if (mb_strlen($password) > 10 || mb_strlen($email) > 35) { // 1st Error: self::$error = "PASS_EMAIL_TOO_LONG"; die(self::$error); return false; } if (mb_strlen(

我开始对我遇到的问题感到沮丧。我使用if语句为一个名为error的静态属性赋值。有趣的是,只有第二个if实际赋值,而第一个if没有赋值

if (mb_strlen($password) > 10 || mb_strlen($email) > 35)
{
    // 1st Error:
    self::$error = "PASS_EMAIL_TOO_LONG";
    die(self::$error);
    return false;
}
if (mb_strlen($password) < 8) 
{
    self::$error = "PASS_TOO_SHORT";
    die(self::$error);
    return false;
}  
if(mb|u strlen($password)>10 | mb|u strlen($email)>35)
{
//第一个错误:
self::$error=“发送电子邮件太长”;
模具(自身::$error);
返回false;
}
如果(mb_strlen($password)<8)
{
self::$error=“PASS\u TOO\u SHORT”;
模具(自身::$error);
返回false;
}  
为什么“传递电子邮件太长”从未分配给$error


我使用die来查看值,但是当输入第一个if块时,它总是死掉,并返回一个空值,另一方面,第二个“if”按预期工作

您是否在类中声明了变量static?当然,如果我没有,那么第二个if也会失败。你不需要检查长度>35。如果是这样的话,它将超过10。对不起,我不太明白你的意思。密码不得超过10,电子邮件不得超过35。你这是什么意思?你粘贴的代码很好,我查过了。搜索其他错误或粘贴更多代码。