PHP If语句始终触发为true

Sgo*_*lds 0 php if-statement

首先,我知道这已经被问了一百万次,但我找到的答案似乎都没有用.我在'Header.php'页面中有以下if语句:

<?php
$currentpage = $_SERVER['REQUEST_URI'];
    echo($currentpage);
    if($currentpage == "/recap-2013.php" || "/index.php" ) { ?>
        <script src=... a bunch of HTML
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

想法是插入一些JS,如果$ currentpage等于recap-2013.php或index.php,如果不等,则不做任何操作.

我已经echo($currentpage)在那里添加了检查我的REQUEST_URI内容.

问题是,即使请求URI是/someotherpage.php,语句的计算结果为true,JS出现在我的head标签中.我敢肯定,这是一件我想念的小事,但我无法弄清楚是什么.

在此先感谢您的帮助!

Joh*_*nde 6

您的if语句逻辑不正确.你真正的意思是:

if($currentpage == "/recap-2013.php" || $currentpage == "/index.php" ) { ?>
Run Code Online (Sandbox Code Playgroud)

在您当前的逻辑中,第二个表达式将始终为true,因为PHP键入松散,字符串将被计算为布尔值,非空字符串始终为true.