嘿 我想知道是否可以将关联数组作为自定义函数中的参数传递。这是我的情景:
在php文件中我设置了数组:
$dataArr = array('one'=>'1','two'=>'2','three'=>'3');
$tpl->assign('dataArr',$dataArr);
这是我的自定义功能迟钝
function smarty_function_drawChart($params, &$smarty){
print_r($params);
}
这是我在模板中的函数调用
{drawChart data={$dataArr} title='Title of the Chart'}
我遇到的问题是,如果你注意到我在哪里print_r($ params),那就显示:
Array
(
[data] => Array
[title] => Title of the Chart
)
似乎传递字符串'Array'而不是实际数组。在传递显示{$ dataArr.one}的$ dataArr之前,我已经完成了调试。一旦进入我的自定义函数$ params ['data']。一个不存在。
关于我做错的任何想法?
由于
列维
答案 0 :(得分:0)
我仍然不能100%确定为什么上面的代码不起作用。我的想法是括号在php中就像'echo'一样工作,这就是字符串'Array'被传递到函数中的原因。通过简单地删除$ dataArr变量周围的括号,我能够使它工作。
这是我最初的电话:
{drawChart data={$dataArr} title='Title of the Chart'}
这是我的新电话
{drawChart data=$dataArr title='Title of the Chart'}