2011-11-05 104 views
0

在調用DemoSlideListing($apiobj,'tech',12,2)之後,它會打印函數的回顯部分,但我想在此函數之外使用變量$TotalResults,即我在頁面上的任何位置。我怎樣才能做到這一點。提前致謝。請幫忙如何在此函數之外使用此變量

function DemoSlideListing($apiobj, $query, $per_page, $page) { 
    $data = $apiobj->search_slides($query, $per_page, $page); 
    foreach($data as $key) { 
     $title = $key['TITLE']; 
     $title2 = substr($title, 0, 35); 
     $TotalResults = $key['TOTALRESULTS']; 
     echo '<td valign="top"><div id="slide_thumb"> 
</div> 
<div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br /> 
<a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div> 
</td>'; 

    } 
} 
+1

歡迎來到Stack Overflow。請縮進你的代碼 - 如果你的代碼可讀,更多的人會花時間幫助你。 –

+0

帶換行符的字符串不應縮進(因爲縮進會影響字符串本身)。 –

+0

你只想要'$ TotalResults'的最後一個值嗎?因爲這是在一個循環內,所以如果返回該值,你將只能得到循環的最後一個指示。 – dakdad

回答

2

從函數中返回。請查看PHP documentation on function return values.

function DemoSlideListing($apiobj,$query,$per_page,$page){ 
    $data = $apiobj->search_slides($query,$per_page,$page); 

    // Declare $TotalResults as an array 
    $TotalResults = array(); 

    foreach ($data as $key){ 
    $title = $key['TITLE']; 
    $title2 = substr($title, 0, 35); 

    // Append current value to TotalResutls 
    $TotalResults[] = $key['TOTALRESULTS']; 

    echo '<td valign="top"><div id="slide_thumb"> 
</div> 
<div id="slide_thum_des"><strong>Views :</strong> '.$info['VIEWS'].'<br /> 
<a href="'.$key['DOWNLOADURL'].'">'.$title2.'....</a></div> 
</td>'; 

    } 

    // Return the value 
    return $TotalResults; 
} 

// Call as: 
$totalresults = DemoSlideListing($apiobj,$query,$per_page,$page); 

// $totalresults holds the array that $TotalResults held at the time the function execution completed. 
print_r($totalresults); 
+0

$ TotalResults此時也不打印。如何在頁面的頁腳打印? –

+0

我在頁面上的兩個地方使用這個函數,使用不同的函數值 –

+0

@rajzana請注意變量名稱的大小寫敏感性。在我上面的例子中,函數被調用,結果存儲在'$ totalresults'中。該變量可在調用後的任何時間點訪問。如果您第二次調用函數DemoSlideListing(),則將結果存儲到另一個變量中,如'$ newresult = DemoSlideListing(....);' –