2015-06-25 53 views
0

哪種方法可以更好地處理以下情況?我一直想知道這一段時間,並認爲我會問。PHP - 如何處理方法調用

定義一個變量?

$getItems = $itemTools->getItems($item_id); 

if($getItems) 
{ 
    //do stuff 
} 

或者

if($itemTools->getItems($item_id)) 
{ 
    //do stuff 
} 
+0

第一個找我 – Muhammet

+1

清潔劑如果您需要與價值做任何事情,然後將其存儲在一個變量,所以你不需要重新獲取它。如果你不需要對值做任何事情,那麼'getItems'似乎是不恰當的。 'hasItems'可能會更合適。 「if」塊應該像正在檢查的邏輯條件一樣讀取。 – David

+0

因此,如果我定義一個變量,然後檢查該變量是否爲真,它將重新獲取?這意味着它將執行兩次查詢?或者在定義變量時不查詢? – Ciprian

回答

0

恕我直言,這將取決於你在做後/ If分支中的哪些。如果您的計劃正在對返回的數據進行處理,那麼將結果存儲在var中是有意義的。否則它不會。

看看函數名我假設它不是一個簡單的檢查,而是一個返回'可用'數據的函數,所以你可能會使用這些數據,你實際上需要var。

除非你在全局範圍內這樣做,否則如果你在某個方法中這樣做,那麼一旦方法結束,php將釋放此var使用的內存。

如何做另一個(和快速)方法名爲'hasResults($ itemId)'返回一個布爾值?

只是想知道

+0

是的......在我的問題中,我給出了一個實際返回使用的數據的例子。 – Ciprian

+0

好的。然後你必須存儲該變量,否則你將被迫再次調用該方法。 – jhmilan