php/Array ---> js /var
---config.php ---
/* config data for each instance */
$config = [
"instName" => "XS",
'panoAlias'=>'AXS',
"lng" => 120.2,
"lat" => 30.06,
"planes" => array(
array(120.9, 30.06, 'AXS32'),
array(120.2, 30.06, 'p00')
)];
/*********************/
if (function_exists('json_encode')) {
define(CONFIG, json_encode($config));
}else{
die('no json_encode function');
}
?>
------index.php-------
require_once 'Smarty-3.0.8/libs/Smarty.class.php';
require_once ('config.php');
$smarty->assign("config",CONFIG);
$smarty->display("newmap.html");
?>
-----newmap.html----
var js_v = '{$config}'; //记得引号
var config_data = eval('(' + js_v + ')');
alert(config_data['planes'][0]);
输出结果:
120.9 30.06 AXS32
另1:
smarty 模板不分析{literal}....{/literal} 之间的代码。
{literal}
var config= "{$config}";
alert(config);
{/literal}
输出结果:
{$config}
另2:
{foreach}.....{/foreach} 可用于smarty传递数组的输出。
详见:http://www.php100.com/manual/smarty/language.function.foreach.html