检查函数的内容并检查它会运行两次


Does checking the content of a function and checking it runs it twice?

这是一个有点愚蠢的问题,但我有疑问:

我在下面检查一个函数(查询我的数据库)是否没有返回NULL,如果返回了,则重定向。

如果没有,我就把它分配给一个数组。

在下面的代码中,查询是否运行了两次?

    if (!$this->review_model->GetReview($data['review_type'], $data['review_id'])) {
        redirect();
    }
    $data['review'] = $this->review_model->GetReview($data['review_type'], $data['review_id']);

是的,如果不重定向,它会运行两次。。。

做这个

$data['review'] = $this->review_model->GetReview($data['review_type'], $data['review_id']);
if (!$data['review']) {
    redirect();
}

对于您的问题,否,一旦调用了redirect()方法,就不会执行下一行。

但是你的支票不好。您可以将其更改为以下

$data['review'] = $this->review_model->GetReview($data['review_type'], $data['review_id']);
if(!$data['review']){
  redirect();
}