一些配置可以以數組的形式表示('配置參數' => '配置值',),例如:
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,如需轉載請自行聯系原作者