我想通过某个if
else
语句创建一个导航列表。以下是我打算做的:
$v='p';
......
......
some codes go here
......
$menu1 ='<li><a href="#">Market</a>'.$v==='p' ? set_submenu('market'):''.'</li>';
.........
........
echo $menu1;
该行做什么,如果$v
是p
,那么它添加一个 market 的子菜单,该子菜单有一些其他子菜单。如果$v不是"p",那么它只创建菜单,而不创建子菜单。但这并没有发生,什么都没有输出。但是如果我把它分成三行,比如:
$menu1 ='<li><a href="#">Market</a>';
$menu1 .= $v==='p' ? set_submenu('market'):'';
$menu1 .= '</li>';
然后显示带有子菜单的菜单。但是对于更干净的代码,我想在一行中完成。如何在一行代码中连接它们?
试试这个:
$menu1 = '<li><a href="#">Market</a>' . ($v === 'p' ? set_submenu('market') : '') . '</li>';
您没有对三元使用正确的语法,您的条件需要括号。我测试了以下内容,它起作用了。
$menu1 ='<li><a href="#">Market</a>'.($v == 'p') ? set_submenu('market'):''.'</li>';