/* Thinkphp C 函数 */
function C($name=null, $value=null,$default=null) {
static $_config = array();
// 无参数时获取所有
if (empty($name)) {
return $_config;
}
// 优先执行设置获取或赋值
if (is_string($name)) {
$name = explode('.', $name);
$config = $_config;
if (is_null($value)){
foreach ($name as $n){
if (isset($config[$n])){
$config = $config[$n];
}else{
return $default;
}
}
return $config;
}else{
$tmp = array();
foreach ($name as $key => $n) {
if ($key == 0) {
if (isset($_config[$n])) {
$tmp = &$_config[$n];
} else {
return false;
}
} else {
if (isset($tmp[$n])) {
$tmp = &$tmp[$n];
} else {
return false;
}
}
}
$tmp = $value;
unset($tmp);
}
}
// 批量设置
if (is_array($name)){
$_config = array_merge($_config, array_change_key_case($name));
return;
}
return null; // 避免非法参数
}
$_config = array(
'name1' => array(
'name2' => array( 'name3' => 'value3', 'name3-1' => 'value3-1' ),
'name2-1' => array( 'name4' => 'value4', ),
)
);
C($_config);
var_dump(C('name2', 'jiangguibin'));
var_dump(C('name2'));
var_dump($_config);
function C($name=null, $value=null,$default=null) {
static $_config = array();
// 无参数时获取所有
if (empty($name)) {
return $_config;
}
// 优先执行设置获取或赋值
if (is_string($name)) {
$name = explode('.', $name);
$config = $_config;
if (is_null($value)){
foreach ($name as $n){
if (isset($config[$n])){
$config = $config[$n];
}else{
return $default;
}
}
return $config;
}else{
$tmp = array();
foreach ($name as $key => $n) {
if ($key == 0) {
if (isset($_config[$n])) {
$tmp = &$_config[$n];
} else {
return false;
}
} else {
if (isset($tmp[$n])) {
$tmp = &$tmp[$n];
} else {
return false;
}
}
}
$tmp = $value;
unset($tmp);
}
}
// 批量设置
if (is_array($name)){
$_config = array_merge($_config, array_change_key_case($name));
return;
}
return null; // 避免非法参数
}
$_config = array(
'name1' => array(
'name2' => array( 'name3' => 'value3', 'name3-1' => 'value3-1' ),
'name2-1' => array( 'name4' => 'value4', ),
)
);
C($_config);
var_dump(C('name2', 'jiangguibin'));
var_dump(C('name2'));
var_dump($_config);
来源:原创
发布时间:2020-08-24 21:37:51