卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1848本站已运行41123

帝国cms 模板里面的php三元运算符的使用

帝国cms在做模板时经常要用到三元运算符,这里就涉及到文章内容模板和列表内容模板(list.var) (*),因为他们两个模板使用的三元运算符不一样,为什么呢?我们下面讲。
1、文章内容模板使用三元运算符
在帝国内容模板我们使用三元运算符,直接用 <?=$user_nr[userpic]?$user_nr[userpic]:$public_r[newsurl]."e/data/images/nouserpic.gif"?>  这样就可以正常输出内容。
2、列表内容模板(list.var) (*)
在帝国列表内容模板里面如果直接用 <?=$user_nr[userpic]?$user_nr[userpic]:$public_r[newsurl]."e/data/images/nouserpic.gif"?> 他会提示错误,'.$user_nr[userpic]?$user_nr[userpic]:$public_r[newsurl]."e/data/images/nouserpic.gif.'其它内容可以正常输出,但是列表内容就不显示,所以这个写法是不正确的,PHP 不允许你像这样在字符串中直接嵌套逻辑语句而不考虑优先级。正确的应该这样写 '. ($user_nr[userpic]?$user_nr[userpic]:$public_r[newsurl]."e/data/images/nouserpic.gif).' 也就是将整个三元表达式用括号包裹起来,并且不要把它放在双引号中间,否则会导致逻辑混乱。
卓越飞翔博客
上一篇: 帝国CMS大数据量筛选性能瓶颈突破实践
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏