2009-07-11 48 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语句”