天天看點

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,如需轉載請自行聯系原作者