我在PHP中有一些返回语句的问题。问题是,不管函数内部发生了什么我总是得到一个假值。我真的认为这是因为Return语句,因为我试图在其他函数中使用它,我没有得到不同的值。
public function valid_token ()
{
if (!isset($_SESSION['token']) || $this->token != $_SESSION['token'])
{
$this->errors[] = "Formulario incorrecto";
}
return count($this->errors)? 0 : 1;
}
在这个函数中,我总是得到一个false值(0)。当我调用:
时也会发生同样的情况public function valid_data ()
{
if (empty($this->sectorName) || empty($this->sectorInfo) || empty($this->sectorCat))
{
$this->errors [] = "Datos incorrectos";
}
return count($this->errors)? 0 : 1;
}
当然,当我已经发送了表单并设置了令牌时,我调用了这两个函数。
因为你只是在计数而不是检查,试试这个
return count($this->errors) > 0 ? 0 : 1;
更简单地说,
return !$this->errors;