在Javascript for循环中的PHP计数器

swl*_*020 -1 html javascript php

我正在尝试实现一个javascript for循环,其中php变量正在计算(phpVar ++)每个循环.但是,从0开始的变量总是最终为1,即使循环多次循环.

这不可能吗?

<script>
    <?php  $totalMarkers=0; ?>
    for (var i = 0; i < markers.length; i++) {
      <?php $totalMarkers=$totalMarkers+1; ?>
    }
    <?php echo $totalMarkers ?>   //this always prints "1"
</script>
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样做,以便我可以在HTML的Body中的不同位置打印$ totalMarkers.

Chr*_*ker 7

Javascript在客户端计算机上执行,PHP在服务器上执行.因此,在用户的浏览器中完全加载页面之前,您的循环不会运行 - 此时,不会执行任何PHP.

呈现该页面时,这是一个过程:

<script> < - 从字面上得到输出

<?php $totalMarkers=0; ?> < - 没有输出

for (var i = 0; i < markers.length; i++) { < - 字面输出

<?php $totalMarkers=$totalMarkers+1; ?> < - 没有输出

} < - 字面输出

<?php echo $totalMarkers ?> < - 输出1

</script> < - 字面输出

如果您要查看源代码,您会看到:

<script>
    for (var i = 0; i < markers.length; i++) {
    }
    1   //this always prints "1"
</script>
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 5

PHP在服务器上运行.JavaScript在浏览器中运行.

您的服务器运行PHP,然后将其发送到您的浏览器:

<script>
        for (var i = 0; i < markers.length; i++) {
      }
    1</script>
Run Code Online (Sandbox Code Playgroud)

JavaScript可以影响PHP的唯一方法是使用AJAX或类似方法.