php根据class修改html,如何使用PHP将class ='active'添加到html菜单

小编典典

您的index.php代码正确。我将在下面包含common.php的更新代码,然后我将解释它们之间的区别。

$class = ($page == 'one') ? 'class="active"' : '';

$nav = <<

EOD;

?>

第一个问题是,您需要确保heredoc的结束声明EOD;-根本没有缩进。如果缩进,则会出现错误。

至于您的PHP代码未在heredoc语句中运行的问题,那是因为您看错了。使用heredoc语句与关闭PHP标记不同。因此,您无需尝试重​​新打开它们。那对您无济于事。Heredoc语法的工作方式是,打开和关闭之间的所有内容均按所显示的完全一样,但变量除外。这些将替换为关联的值。我从heredoc中删除了您的逻辑,并使用一个三级函数来确定该类,以使其更易于查看(尽管我不相信任何逻辑语句仍然可以在heredoc中使用)

要了解Heredoc语法,它与在双引号(“)中包含它相同,但是不需要转义。因此,您的代码也可以这样编写:

$class = ($page == 'one') ? 'class="active"' : '';

$nav = "

";

?>

它将做完全相同的事情,只是编写方式有所不同。Heredoc和字符串之间的另一个区别是,您可以在中间无法进入Heredoc的字符串中跳出。使用此逻辑,可以生成以下代码:

$nav = "

";

?>

然后,您可以像最初想要的那样直接在字符串中包含逻辑。

无论选择哪种方法,脚本的性能差异都很小(如果有的话)。它主要归结为偏好。无论哪种方式,您都需要确保了解它们的工作原理。

2020-05-29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值