为了账号安全,请及时绑定邮箱和手机立即绑定

在smarty中使用print_r函数 打印异常

实际上在smarty中不需要使用print_r函数,但smarty中支持php的内置函数   按理说也是可以正常使用的,于是...测试了下

<?php
	require './libs/Smarty.class.php';
	$smarty = new Smarty();
	$smarty->setTemplateDir('tpl');
	$smarty->setCompileDir('template_c');
	$smarty->setCacheDir('cache');
	$smarty->caching = false;
	$smarty->cache_lifetime = 120;
	$smarty->display('test.tpl');
?>
test.tpl中的代码:
{"a"|print_r}

打印结果是 a1

为何?不应该是a吗?

正在回答

1 回答

纳闷之余,去翻看了一下smarty编译后的php程序发现了如下代码:

function content_58626d30228a24_11924857 (Smarty_Internal_Template $_smarty_tpl) {
    echo print_r("a");
}

原来是prinr_r打印后返回了一个true,后面的echo又跟上来打印true,php自动将true转变成了1给打印了。。

...

解决了

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
MVC架构模式分析与设计
  • 参与学习       82411    人
  • 解答问题       929    个

通过学习MVC理论知识,由浅入深带您实现人生第一个MVC框架

进入课程

在smarty中使用print_r函数 打印异常

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信