如果我有一个结构正确的数组存储在这样的文件中:
数组.php
<?php
return array(
0=>"a",
"x"=>$timestamp,
"y"=>array("nested"=>array(1,2,3)),
"z"=>function() use (&$VAR) { return $VAR; },
);
?>
我应该使用什么样的正则表达式来获得这样的数组:
$array=file_get_contents("array.php"); // a string ready to be processed
/* 某种神奇的正则表达式 */
$array[0]=>'"a"';
$array["x"]=>'$timestamp';
$array["y"]=>'array("nested"=>array(1,2,3))';
$array["z"]='function() use (&$VAR) { return $VAR; }';
?
更新 :: 我需要 $array 包含这样的值,所以我可以有选择地调用 eval() 何时何地我需要它,像这样
$timestamp="2010-01-01 00:00:00";
$dinamicValue=eval(" return ".$array["x"]."; "); // now is "2010-01-01 00:00:00"
$timestamp="2012-01-01 00:00:00";
$dinamicValue=eval(" return ".$array["x"]."; "); // now is "2012-01-01 00:00:00"
它将用于某种模板系统,这里是一个模板演示codepad.org/xt56tXnf,其中所有像 $DINAMIC_VALUE_* 这样的变量都应该被动态定义。