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

区间标签里对变量使用default方法会导致意想不到的问题

<between name="score|default=80" value="60,100">
	及格了{$score}
	<else />
	没及格
	</between>

在控制器内定义 $this->assign("score", 50);
这样显示的结果竟然是 及格了50

有人能解释下这里的default为什么会改变变量的值呢,控制器里面已经定义了值50
为什么在标签里的name这里使用default就会强制变成80呢。


正在回答

4 回答

因为快捷输出不支持使用函数,所以也不支持默认值,默认值支持Html语法。

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

"score|default=80" 这里不支持默认值,执行时按照“score|default"=80处理,所以name的值永远是80。

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

好吧,谢谢!

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

你已经给定默认初始值是60-100,传过去的是50,又默认80,感觉奴逻辑好奇怪,默认值80去了,默认值应该是60-100吧!我认为是逻辑问题

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

小王子抓猫咪 提问者

60-100不是默认值,而是between的区间判断条件,default是在变量没有赋值时才会使用的值。你连between标签的基本属性都没有搞懂。
2016-07-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
快速入门ThinkPHP框架—理论篇
  • 参与学习       89135    人
  • 解答问题       562    个

快速入门ThinkPHP框架教程,掌握ThinkPHP的理论基础

进入课程

区间标签里对变量使用default方法会导致意想不到的问题

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