php函数array_change_key_case使用场景

PHP / 157人浏览 / 0人评论

php函数array_change_key_case(array $array, int $case = CASE_LOWER): array,官网说了是将数组中的所有键名修改为全大写或小写,array_change_key_case() 将 array 数组中的所有键名改为全小写或大写。本函数不改变数字索引。

array_change_key_case

在php编程语言中,php数组函数array_change_key_case(array $array, int $case = CASE_LOWER): array,官网说了是将数组中的所有键名修改为全大写或小写,array_change_key_case()array数组中的所有键名改为全小写或大写。本函数不改变数字索引。

演示案例

来自ThinkPHP开源框架(3.2.3)

C方法把,站点的所有配置键值对都转为小写进行使用。

/**
 * 获取和设置配置参数 支持批量定义
 * @param string|array $name 配置变量
 * @param mixed $value 配置值
 * @return mixed
 */
function C($name=null, $value=null) {
    static $_config = array();
    // 无参数时获取所有
    if (empty($name)) {
        if(!empty($value) && $array = S('c_'.$value)) {
            $_config = array_merge($_config, array_change_key_case($array));
        }
        return $_config;
    }
    // 优先执行设置获取或赋值
    if (is_string($name)) {
        if (!strpos($name, '.')) {
            $name = strtolower($name);
            if (is_null($value))
                return isset($_config[$name]) ? $_config[$name] : null;
            $_config[$name] = $value;
            return;
        }
        // 二维数组设置和获取支持
        $name = explode('.', $name);
        $name[0]   =  strtolower($name[0]);
        if (is_null($value))
            return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;
        $_config[$name[0]][$name[1]] = $value;
        return;
    }
    // 批量设置
    if (is_array($name)){
        $_config = array_merge($_config, array_change_key_case($name));
        if(!empty($value)) {// 保存配置值
            S('c_'.$value,$_config);
        }
        return;
    }
    return null; // 避免非法参数
}

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我