gpt4 book ai didi

php - 在自定义函数中将数组作为参数传递

转载 作者:行者123 更新时间:2023-12-02 05:11:25 25 4
gpt4 key购买 nike

嘿,我想知道是否可以将关联数组作为自定义函数中的参数传递。这是我的场景:

在 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'}

我遇到的问题是,如果你注意到我在哪里打印_r($params),那表明:

Array
(
[data] => Array
[title] => Title of the Chart
)

它似乎传递的是字符串“Array”而不是实际的数组。在传递显示 {$dataArr.one} 具有值的 $dataArr 之前,我已经完成了调试。一旦进入我的自定义函数 $params['data'].one 就不存在了。

对我做错了什么有什么想法吗?

谢谢
列维

最佳答案

我仍然不能 100% 确定为什么我上面的代码不起作用。我的想法是,括号的工作方式就像 php 中的“echo”一样,这就是将字符串“Array”传递到函数中的原因。我能够通过简单地删除 $dataArr 变量周围的括号来让它工作。

这是我原来的电话:

{drawChart data={$dataArr} title='Title of the Chart'}

这是我的新电话

{drawChart data=$dataArr title='Title of the Chart'}

关于php - 在自定义函数中将数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com