2009-07-11 34 views
0

誰能介紹以下PHP函數:你能描述下面的PHP函數嗎?

function get_setting_value($settings_array, $setting_name, $default_value = "") 
    { 
     return (is_array($settings_array) && isset($settings_array[$setting_name]) && strlen($settings_array[$setting_name])) ? $settings_array[$setting_name] : $default_value; 
    } 

是什麼返回並且什麼是它的目的是什麼?

回答

5

這相當於:

function get_setting_value($settings_array, $setting_name, $default_value = "") 
{ 
    // Check that settings array really is an array 
    if (!is_array($settings_array)) { 
     return $default_value; 
    } 
    // Check that the array contains the key $setting_name 
    if (!isset($settings_array[$setting_name])) { 
     return $default_value; 
    } 
    // Check that the value of that index isn't an empty string 
    if (!strlen($settings_array[$setting_name])) { 
     return $default_value; 
    } 

    // Return the requested value 
    return $settings_array[$setting_name]; 
} 
+0

感謝您的等效代碼。那比我有更好的 – 2009-07-11 11:01:29

3

該函數返回如果發現了一個設定值,或默認值(這是可選的)。

的更詳細的答案:

  • 如果給定的設置陣列是一個實際的陣列
  • 如果陣列
  • 在存在SETTING_NAME如果由設置名稱表示的設置值不爲空,假,或0然後返回它
  • 否則返回默認值,而如果沒有設置,是一個空字符串
1

如果$ settings_array是一個數組,並且設置$ setting_name(它是設置數組中的fournd)有一個值並且$ setting_array [$ setting_name]的值有一個值,則返回$ setting_array [$ setting_name]的值返回$默認值。

我猜這是爲了得到一個特定的設置,並檢查它是否存在(設置都在數組中,它們被設置並且有一個長度),如果沒有則返回默認值。

這使用「內聯if語句」