语法错误,意外“如果”(T_IF),如何解决

时间:2016-10-21 07:28:05

标签: php

我在类中创建语句,但语法错误和意外'如果' 这是我的代码

$row->actions    = '
<div class="btn-group">
<ul class="dropdown-menu" role="menu">
'.generate_button('activity', 'edit', '<li class='". if('.$row->status==1).'{echo 'hidden'}"'> 
 <a href="'.site_url('activity/edit_activity/'.$row->activity_id).'"> <i class="fa fa-pencil"></i> Edit </a> </li>').'
'.generate_button('activity', 'view', '<li> 
 <a href="'.site_url('activity/view/'.$row->activity_id).'"> <i class="fa fa-file"></i> View </a> </li>').'
</ul></div>';

所以,如何解决它。

1 个答案:

答案 0 :(得分:0)

if构造在连接表达式中不起作用,因为它不返回值。您可以改为使用ternary operator

generate_button('activity', 'edit',
  '<li class="' . ($row->status==1 ? 'hidden' : '') . '">...');

另一个问题是错误的引号顺序(或未转义的引号,如果你愿意的话):

'<li class='". if('.$row->status==1).'{echo 'hidden'}"'>...'

固定版本:

'<li class="' . ($row->status==1 ? 'hidden' : '') . '">...'

最后,考虑使用Smarty等模板引擎,而不是将HTML与PHP混合使用。