天天看点

PHP 数组配置文件怎么用?

    一些配置可以以数组的形式表示('配置参数' => '配置值',),例如:

    array

    (

      'var1' => 'val1',

      'var2' => 'val2',

      'var3' => 'val3',

    );

    这些数组表示的配置怎么使用呢?

    首先,把这个数组前面加上 return,单独保存为一个文件:

    return array

    然后,在另一个文件里 require 它,就会返回该数组,然后再用 extract 函数把数组转化为变量。

    例子:

    <?php

    $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文件:

      'catid' => '10',

      'module' => 'lightPHP',

      'type' => '1',

      'modelid' => '0',

      'catname' => '网站介绍',

      'description' => '',

    -------------------------------------------------

    参考资料:

    PHP extract

    定义和用法

    PHP extract() 函数从数组中把变量导入到当前的符号表中。

    对于数组中的每个元素,键名用于变量名,键值用于变量值。

    第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

    本函数返回成功设置的变量数目。

    语法

    extract(array,extract_rules,prefix)

    例子

    $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

    数组键名转换成变量并输出

    //假定 $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。

     2013-4-2

本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/1169417,如需转载请自行联系原作者