'如果'条件为真,但执行'else'

时间:2019-06-21 14:16:00

标签: javascript

我对此代码有疑问:

        <?php $nb = 10; ?>
    <script>
        if(window.innerHeight+1 == screen.height) 
        {
            document.write("<?php $nb = 10; ?>");
            alert("1");
            alert(window.innerHeight +1+ " " +screen.height+ " 1");
        }else{
            document.write("<?php $nb = 8; ?>");
            alert("2");
            alert(window.innerHeight +1+ " " +screen.height + " 2");
        }
   <script>
           <?php

        $blink = "";
        $i = 0;
        for($i=0;$i<$nb;$i++)
        {
            if($_SESSION['Collection'][$i]->getUrgence() == "FORTE")
            {
            $blink = " class=\"Blink\"";
            }
        elseif($_SESSION['Collection'][$i]->getUrgence() == "MOYENNE")
        {
            $blink = "";
        }

        echo '<tr>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getNumDossier().'</td>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getNomTicket().'</td>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getService().'</td>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getImpact().'</td>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getUrgence().'</td>';
        echo    '<td'.$blink.'>'.$_SESSION['Collection'][$i]->getDateOuverture().'</td>';
        echo '</tr>';
        }
    ?>

事实上,我想检测浏览器是否处于全屏状态,如果是,则将变量设置为10,否则将其设置为8。在我的php代码中使用此变量显示多个值之后。 / p>

如果'if'为true,则打印出alert(“ 1”),但是$ nb = 8,这真的很奇怪吗?

谢谢您的阅读!

1 个答案:

答案 0 :(得分:0)

我认为您有两个相互竞争的想法。正如@Titus在他的评论中指出的那样,所有PHP代码都首先被编译。因此,首先将$ nb设置为10,然后再设置为8。

一旦生成HTML输出,$ nb在HTML中使用的任何地方都是8。您需要在PHP中使用if / else或使用单独的变量。

    <?php $nb = 10; ?>
<script>
    if(window.innerHeight+1 == screen.height) 
    {
        document.write("8");
        alert("1");
        alert(window.innerHeight +1+ " " +screen.height+ " 1");
    }else{
        document.write("8");
        alert("2");
        alert(window.innerHeight +1+ " " +screen.height + " 2");
    }

您应该进入开发人员工具并检查HTML,以查看在客户端生成的值。 PHP =服务器端代码,JS =客户端代码(因为您未使用节点)。

您对代码段的意图不明确,因此我无法给您提供可行的示例。