打破if语句PHP

时间:2013-09-27 08:38:28

标签: php if-statement break

我需要以某种方式打破if语句。这是代码

public function userData($data) {
    //checks if user is in the database
    if (self::checkUserExist($data)==false) { 
        $userInfo = array();
        $userInfo['id'] = (isset($data->id)) ? $data->id : break;
        $userInfo['email'] = (isset($data->email)) ? $data->email : break;
        $this->conn->insert($userInfo, $Table); // inserts data!
    }
}

休息在这里不起作用。我需要返回某种错误。我可以说输入数据是无效的,其中一点是,如果数据无效,则要避免在数据库中插入数据。

4 个答案:

答案 0 :(得分:1)

在/ for循环时中断。使用return false

答案 1 :(得分:0)

你无法打破if;如果这是您的整个代码,您可以使用return语句;此外,您不应将其与ternary operator? :')结合使用,因为这会导致解析错误:

PHP Parse error: syntax error, unexpected 'break' (T_BREAK) PHP Parse error: syntax error, unexpected return (T_RETURN)

另一种方法是使用goto(我可以听到抨击,但请看一下这个问题:Examples of good gotos in c or c++

还有像晦涩难懂的黑客 do { ... } while(0);

允许你使用break,但不要使用它 - 这是愚蠢的:)

答案 2 :(得分:0)

使用:

public function userData($data) {
     if (self::checkUserExist($data)==false && isset($data->id) && isset($data->email)) { //checks if user is in the database
            $userInfo = array('id' => $data->id,'email' => $data->email);
            $this->conn->insert($userInfo, $Table); // inserts data!
     }
}

return或更糟糕的是:goto

答案 3 :(得分:-1)

尝试以下代码:

public function userData($data) {
     if (self::checkUserExist($data)==false) { //checks if user is in the database
            $userInfo = array();
        $userInfo['id'] = (isset($data->id)) ? $data->id : break;
            $userInfo['email'] = (isset($data->email)) ? $data->email : break;
            if(!$this->conn->insert($userInfo, $Table)){
              $message = 'Error';
            }else{
                $message = 'Success';
            }
     }
   }
相关问题