【问题标题】:Or statement in PHP或者 PHP 中的语句
【发布时间】:2011-12-23 15:07:38
【问题描述】:

如果页面是“a”或“b”,我想向 span 元素添加一个 ID。

到目前为止我的代码是这样的:

<span class="subnav2" <? if(($page == 'a') || ($page == 'b')): ?> id="active"<? endif ?>>

但它只在 'a' 为真时将类添加到跨度中。我做错了什么?

$page 的值为:

<? 
    $path = basename($_SERVER['PHP_SELF']);
    $page = basename($path);
    $page = basename($path, '.php');
    $page = str_replace('_',' ',$page);
    $page = str_replace('.php','',$page);
    $page = ucfirst($page);
?>

【问题讨论】:

  • 它应该可以工作。 $page 是什么值?
  • 我想知道我是不是做错了..它对我有用,我测试了$page被设置为a然后到b..
  • 我认为'a'将永远是'a'。
  • 这与$page的值有关,但我不知道是什么问题。
  • 你的 short_open_tag 值?

标签: php


【解决方案1】:

试试这个:
代码:

<span class="subnav2" <? if(($page == 'a') || ($page == 'b')): echo "id=\"active\"" endif ?>>

【讨论】:

  • 解决了语法错误: endif ?>> 但它仍然只适用于第一页。感谢您的回复。
【解决方案2】:

试试:

<?php if ($page == 'a' || $page == 'b'): ?>

【讨论】:

    【解决方案3】:

    正如您may notice,代码即使在$page = 'b' 时也有效。问题隐藏在分配 $page 的其他地方。 无论哪种情况,您的代码都会这样看起来更好:

    <span class="subnav2" <?= $page == 'a' || $page == 'b' ? 'id="active"' : '' ?>>
    

    【讨论】:

    • 每当您提出问题并得到解答时,请按 V 图像接受您想要的答案 :)
    • 缺少关于'id="active"的报价
    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多