-1

再度実行せずに関数の戻り値を取得する方法は?

私はこれを使用しましたが、この実行機能は再び

私の機能:

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'];
}
4

3 に答える 3

2

これはあなたが望むことをするはずです

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

これは「同時」割り当てと比較を行います。まず、この部分が評価されます: ($article = article()). に格納されているnull値またはを生成します。 その結果 (または) は if 構造体によって評価され、通常のフローが再開されます。array$article
nullarrayif (null !== $article)

于 2013-06-20T08:10:28.750 に答える
1

そのようです

$article_var = article();

if ($article_var!=null)
{
      //do stuff
      //return $article['title'] // etc
}
于 2013-06-20T08:11:06.397 に答える
0

チェックを少し変更します。

$article = article();
return $article != null ? $article['title'] : null;
于 2013-06-20T08:10:34.723 に答える