2011-03-15 80 views

回答

9

爲什麼不你在你的函數傳遞參數?

function returnArray($key=null){ 
    $array = array(
    0 => "kittens", 
    1 => "puppies" 
); 
    return is_null($key) ? $array : $array[$key];  
} 

echo returnArray(0); // only 0 key 
echo returnArray(); // all the array 
+0

+1不錯的解決方案 – kapa 2011-03-15 10:50:47

1

有沒有辦法做到這一點沒有任何臨時變量。

PS:它是「神聖的」函數的樣本。功能不應該返回更多,比你需要。

+0

的示例代碼的返回值只是一個列表。那是什麼問題? – KingCrunch 2011-03-15 09:53:23

+0

@KingCrunch:什麼問題?每個函數都應該返回所需的數據量。不多或少。因此,你永遠不會問如何解除只返回一個百萬的項目。 – zerkms 2011-03-15 09:54:56

+0

想象一下,函數被稱爲'getCategories()'。比列表已經是需要的數據。在不破壞含義的情況下它不可縮減。 – KingCrunch 2011-03-15 09:59:13

3

沒有測試任何錯誤

function returnArray($i){ 
    static $array = array(
      0 => "kittens", 
      1 => "puppies" 
     ); 
    return $array[$i];  
} 

echo returnArray(0); 
相關問題