只是遇到了这方面的问题,是否可能?
echo '<li><a href="' .$item->url. '" ' .($item->target != '') ? "target=$item->target" : "". '>' .$item->post_title. '</a></li>';
我不确定应该在哪里连接以及如何回显if语句结果。
答案 0 :(得分:3)
运算符优先级可能很难看,特别是在PHP中,?:
运算符的规则与大多数其他语言不匹配(在PHP中是左关联的,在其他地方是右关联的,尽管这是不太可能是你的问题,因为你只在这里使用了一次运算符。)
如有疑问,请使用括号使您的意图明确:
echo '<li><a href="' .$item->url. '" ' . (
($item->target != '')
? "target=$item->target"
: ""
). '>' .$item->post_title. '</a></li>';
答案 1 :(得分:1)
你需要使用大括号,因为php无法识别tern的结尾。同前。
echo '<li><a href="' .$item->url. '" ' . (
($item->target != '')
? "target=$item->target"
: ("". '>' .$item->post_title. '</a></li>')
);