2013-06-20 33 views
-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']; 
} 
+0

您還可以存儲的文章()給一個變量,並使用變量$一文的文章() – daison12006013

回答

2

這應該做你想做的

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

這是「同時」分配和比較。首先,這部分評估爲:($article = article())。它產生一個null值或一個array存儲在$article
其結果(nullarray)然後通過if結構進行評估:if (null !== $article)並恢復正常流程。

+0

這部分不再次運行功能? - >($ article = article()) –

+0

查看我更新的答案。 –

+0

我有一個更新MySQL文章()函數中的查詢,並再次執行它,更新查詢運行兩次。文章函數執行之前,我不想再次執行它 –

0

修改檢查一下。

$article = article(); 
return $article != null ? $article['title'] : null; 
1

像這樣

$article_var = article(); 

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

之前執行的功能我不想再次執行它 –

相關問題