PHP在函数中使用static变量来加载和设置配置文件
PHP的静态变量
静态变量只能声明在函数中(类中),不能在全局声明
使用static在变量前;
作用:一个变量可以在同一个函数在多次调用中同用。
1. 静态变量在静态代码段中保存
2. 一个函数多次调用之间共用,但只在第一次调用 函数时声明到内存,以后再调用用,就不再声明,而直接使用
从上面所说的作用:一个变量可以在同一个函数在多次调用中同用,就是说如果在一个函数中设置了static变量的值,那么以后调用这个函数时,这个变量的值依旧存在没变。
例子:
<?php
function test($key,$val=null){
static $_config = array();//定义static变量
if(!empty($val)){
$_config[$key] = $val;
return;
}
echo '$config["'.$key."\"]=".$_config[$key].'</br>';
}
test("name","richievoe");//赋值
test("name");//输出
?>
【加载配置文件】
同上面的例子引申到加载配置文件的应用中:
首先需要一个配置文件config.php(本例子在同一文件夹下):
<?php
return array(
'name'=>"richievoe",
'age'=>22,
'sex'=>'男',
'city'=>'肇庆',
);
?>
<?php
function test($key,$val=null){
static $_config = array();//定义static变量
if(!empty($val)){
$_config[$key] = $val;
return;
}
echo '$config["'.$key."\"]=".$_config[$key].'</br>';
}
$arr = include("config.php");//加载配置文件
//循环赋值
foreach($arr as $key=>$value){
test($key,$value);
}
test("name");//输出
test("age");
test("sex");
?>