在php编程中,经常会用数组的形式('配置参数' => '配置值',)作为配置文件,例如:
本文就介绍下数组配置文件的具体使用方法,供大家参考。
首先,把这个数组前面加上 return,单独保存为一个文件:
然后,在另一个文件里 require 它,就会返回该数组,然后再用 extract 函数把数组转化为变量。
例子:
<?php /** * 数组作为配置文件实例 * edit www.jb200.com */ $catid = 1; //返回该数组 $var_array = require('category_' . $catid . '.php'); //print_r($var_array); //把数组转化为变量 extract($var_array, EXTR_PREFIX_SAME, "new"); //现实变量的值 echo $catid; echo $new_catid; echo $module; echo $catname; ?>
category_1.php文件:
<?php return array ( 'catid' => '10', 'module' => 'lightPHP', 'type' => '1', 'modelid' => '0', 'catname' => '网站介绍', 'description' => '', ); ?>
以上代码,用到了extract函数,下面介绍下其用法。
PHP extract
定义和用法
PHP extract() 函数从数组中把变量导入到当前的符号表中。
对于数组中的每个元素,键名用于变量名,键值用于变量值。
第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
本函数返回成功设置的变量数目。
语法
extract(array,extract_rules,prefix)
例子:
<?php $a = 'Original'; $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "$a = $a; $b = $b; $c = $c"; ?>
输出:
$a = Cat;
$b = Dog;
$c = Horse
例子2
数组键名转换成变量并输出:
<?php //假定 $var_array 是 wddx_deserialize 返回的数组 $size = "large"; $var_array = array("color" => "blue", "size" => "medium", "shape" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_sizen"; ?>
输出:
blue, large, sphere, medium
$size 没有被覆盖,因为指定了 EXTR_PREFIX_SAME,这使得 $wddx_size 被建立。
如果指定了 EXTR_SKIP,则 $wddx_size 也不会被建立。
EXTR_OVERWRITE 将使 $size 的值为“medium”,
EXTR_PREFIX_ALL 将建立新变量 $wddx_color,$wddx_size 和 $wddx_shape。