如何在三元运算符中执行函数

时间:2014-12-08 17:44:01

标签: php html

我想通过一些if else语句创建导航列表。以下是我打算做的事情:

$v='p';
......
......
some codes go here
......
$menu1 ='<li><a href="#">Market</a>'.$v==='p' ? set_submenu('market'):''.'</li>';
.........
........

echo $menu1;

如果$vp,那么它会添加一个市场子菜单,其中包含其他子菜单。如果$ v不是'p',那么它只是创建菜单而没有子菜单。但这并没有发生,没有任何东西在输出。但如果我把它分成三行,如:

$menu1 ='<li><a href="#">Market</a>';
$menu1 .= $v==='p' ? set_submenu('market'):'';
$menu1 .= '</li>';

然后显示带子菜单的菜单。但是为了更清晰的代码,我想以单行方式完成。如何在一行代码中连接它们?

2 个答案:

答案 0 :(得分:1)

试试这个:

$menu1 = '<li><a href="#">Market</a>' . ($v === 'p' ? set_submenu('market') : '') . '</li>';

答案 1 :(得分:-1)

你没有在三元组中使用正确的语法,你的条件需要括号。我测试了下面的内容并且有效。

$menu1 ='<li><a href="#">Market</a>'.($v == 'p') ? set_submenu('market'):''.'</li>';