Php 检查函数返回值,但不重新执行

Php 检查函数返回值,但不重新执行,php,function,return,Php,Function,Return,如何在不再次执行的情况下获取函数返回值 我使用了这个函数,但是这个执行函数又用了一次 我的功能: function article() { if($_GET['action'] == "article" && !empty($_GET['id'])) { $id = intval($_GET['id']); $article = array(); $selectArticle = mysql_query("SELEC

如何在不再次执行的情况下获取函数返回值

我使用了这个函数,但是这个执行函数又用了一次

我的功能:

function article()
{
    if($_GET['action'] == "article" && !empty($_GET['id']))
    {
        $id = intval($_GET['id']);
        $article = array();
        $selectArticle = mysql_query("SELECT * FROM articles WHERE id='$id'");
        $rowArticle = mysql_fetch_array($selectArticle);

        $id = $rowArticle['id'];
        $title = stripcslashes($rowArticle['title']);
        $category = stripcslashes($rowArticle['category']);
        $image = stripcslashes($rowArticle['image']);
        $description = stripcslashes($rowArticle['description']);
        $full_description = stripcslashes($rowArticle['full_description']);
        $keywords = stripcslashes($rowArticle['keywords']);
        $url = "/article/" . $rowArticle['id'] . "/" . str_replace(" ","-",stripcslashes($rowArticle['title']));
        $article = array('id' => $id, 'title' => $title, 'category' => $category, 'image' => $image, 'description' => $description, 'full_description' => $full_description, 'keywords' => $keywords, 'url' => $url);
        mysql_query("UPDATE articles SET visits=visits+1 WHERE id='$id'");
    }
    return $article;
}
如何检查它

if (article() != null)
{
    $article = article();
    return $article['title'];
}

这应该是你想要的

if (null !== ($article = article())) {
    return $article['title'];
}
这将进行“同时”赋值和比较。 首先,对该部分进行评估:
($article=article())
。它产生一个
null
值或一个
数组
,存储在
$article


其结果(
null
array
)然后由if结构进行评估:
if(null!=$article)
并恢复正常流。

稍微修改检查

$article = article();
return $article != null ? $article['title'] : null;
像这样

$article_var = article();

if ($article_var!=null)
{
      //do stuff
      //return $article['title'] // etc
}

您还可以将article()存储到变量中,并使用变量$article代替article()。此部分不再运行函数?->($article=article())我在article()函数中有一个更新mysql查询,这个查询将再次执行,更新查询将运行两次。在我不想再次执行之前执行的article函数我不知道“再次执行”的确切含义。我发布的代码只运行了一次
article()
函数。我之前调用了article(),然后($article=article())再次调用它。在最初的示例中,
article()
函数运行了三次?这意味着代码比您发布的代码要多。您应该发布完整的代码。在我不想再次执行之前,请先执行该函数