代码拉取完成,页面将自动刷新
同步操作将从 百里/sg-config 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/**
*
* 存储健区分大小写
* 获取和设置配置参数 支持批量定义,支持无限层
*
* 加载文件:config(include($file));支持多次加载
* 加载文件:config(include($file), '键(文件名)');设置以文件名为键
* 设置临时参数:config('a.b.c', 'abc');
*
* 获取所有的参数:config();
* 获取单个值:config('a.b.c');
*
* @param string|array $name 配置变量
* @param mixed $value 配置值
* @param mixed $default 默认值
* @see https://gitee.com/sgfoot/php-config
* @author freelife2020@163.com
* @return mixed
*/
function config($name = null, $value = null, $default = null)
{
static $_config = array();
if (!function_exists('array_get')) {
/**
* 获取key值,递归
* @param $str string 以.隔开
* @param $array array 多维数组
* @return mixed|null
*/
function array_get($str, $array)
{
$list = explode('.', $str);
$first = array_shift($list);
$result = isset($array[$first]) ? $array[$first] : null;
if ($result && is_array($result) && count($list) > 0) {
return array_get(join('.', $list), $result);
}
return $result;
}
}
if (!function_exists('array_set')) {
/**
* 数组设置动态值
* @param $str string 以.隔开的字符串
* @param $val mixed 值
* @param $array array 引用,目标数据
* @return array
*/
function array_set($str, $val, &$array)
{
$list = explode('.', $str);
$first = array_shift($list);
if (count($list) > 0) {
return array_set(join('.', $list), $val, $array[$first]);
}
$array[$first] = $val;
}
}
// 无参数时获取所有
if (is_null($name)) return $_config;
// 优先执行设置获取或赋值
if (is_string($name)) {
$name = explode('.', $name);
//获取值
if (is_null($value)) {
$rs = array_get(join('.', $name), $_config);
return is_null($rs) ? $default : $rs;
}
//设置值
array_set(join('.', $name), $value, $_config);
return null;
}
//批量设置
if (is_array($name)) {
if (is_null($value)) {
$_config = array_merge($_config, $name);
} else {
$_config = array_merge($_config, array($value => $name));
}
return null;
}
return null; // 避免非法参数
}
/**
* 存储健不区分大小写
* 获取和设置配置参数 支持批量定义,支持无限层
*
* 加载文件:configCase(include($file));支持多次加载
* 加载文件:configCase(include($file), '键(文件名)');设置以文件名为键
* 设置临时参数:configCase('a.b.c', 'abc');
*
* 获取所有的参数:configCase();
* 获取单个值:configCase('a.b.c');
*
* @param string|array $name 配置变量
* @param mixed $value 配置值
* @param mixed $default 默认值
* @see https://gitee.com/sgfoot/php-config
* @author freelife2020@163.com
* @return mixed
*/
function configCase($name = null, $value = null, $default = null)
{
static $_config = array();
if (!function_exists('array_case')) {
/**
* 将array的key转换成大写,递归
* @param $array
* @param int $case
*/
function array_case(&$array, $case = CASE_UPPER)
{
$array = array_change_key_case($array, $case);
foreach ($array as $key => $val) {
if (is_array($val)) {
array_case($array[$key], $case);
}
}
}
}
if (!function_exists('array_get')) {
/**
* 获取key值,递归
* @param $str string 以.隔开
* @param $array array 多维数组
* @return mixed|null
*/
function array_get($str, $array)
{
$list = explode('.', $str);
$first = array_shift($list);
$result = isset($array[$first]) ? $array[$first] : null;
if ($result && is_array($result) && count($list) > 0) {
return array_get(join('.', $list), $result);
}
return $result;
}
}
if (!function_exists('array_set')) {
/**
* 数组设置动态值
* @param $str string 以.隔开的字符串
* @param $val mixed 值
* @param $array array 引用,目标数据
* @return array
*/
function array_set($str, $val, &$array)
{
$list = explode('.', $str);
$first = array_shift($list);
if (count($list) > 0) {
return array_set(join('.', $list), $val, $array[$first]);
}
$array[$first] = $val;
}
}
// 无参数时获取所有
if (is_null($name)) return $_config;
// 优先执行设置获取或赋值
if (is_string($name)) {
$name = explode('.', $name);
array_walk($name, function (&$val) {
$val = strtoupper($val);
});
//获取值
if (is_null($value)) {
$rs = array_get(join('.', $name), $_config);
return is_null($rs) ? $default : $rs;
}
//设置值
array_set(join('.', $name), $value, $_config);
return null;
}
//批量设置
if (is_array($name)) {
array_case($name);
if (is_null($value)) {
$_config = array_merge($_config, $name);
} else {
$_config = array_merge($_config, array(strtoupper($value) => $name));
}
return null;
}
return null; // 避免非法参数
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。