帝国cms 模板里面的php三元运算符的使用
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).' 也就是将整个三元表达式用括号包裹起来,并且不要把它放在双引号中间,否则会导致逻辑混乱。
留言与评论(共有 0 条评论) |