Example #1
0
function get_positions()
{
    $posi_list = get_confs('push-settings', 'positions', '名称');
    $posi_list = $posi_list['push-settings']['positions'];
    global $field_settings, $posi_vals;
    $result = replace_keys($posi_list, function ($key) use($field_settings) {
        $res = @$field_settings[$key];
        return empty($res) ? $key : $res;
    });
    foreach ($result as $cap => &$item) {
        foreach ($item as $key => &$value) {
            if (is_string($value)) {
                if (array_key_exists($value, $posi_vals)) {
                    $value = $posi_vals[$value];
                }
            }
        }
    }
    return $result;
}
Example #2
0
function replace_keys(array $input, $replace_func)
{
    $return = array();
    foreach ($input as $key => $value) {
        $key = call_user_func($replace_func, $key);
        if (is_array($value)) {
            $value = replace_keys($value, $replace_func);
        }
        $return[$key] = $value;
    }
    return $return;
}