如何在Smarty中翻译PHP字符串数组并合并为逗号分隔字符串?
简洁实现Smarty中数组元素翻译并合并的方案
直接用Smarty的过滤器链式调用就能实现,一行代码搞定:
{getMyStrings()|array_map:translate|implode:','}
拆解说明:
getMyStrings():调用你的PHP函数获取目标字符串数组|array_map:translate:遍历数组每个元素,单独应用translate过滤器完成翻译(这里不用加@修饰符,因为array_map已经处理了数组遍历)|implode:',':把翻译后的数组元素用逗号拼接成单个字符串
如果需要先把结果存到变量再输出,也可以这么写:
{$translatedStr = getMyStrings()|array_map:translate|implode:','} {$translatedStr}
注意:确保你的translate过滤器已经在Smarty环境中正确注册并可用,要是PHP函数需要传参数,直接在调用时传入即可(比如getMyStrings($id, $type))。
内容的提问来源于stack exchange,提问作者Andy Johnson
相关产品推荐
相关产品推荐

