【问题标题】:Running PHP inside of a Javascript loop, any way to keep track of iterations?在 Javascript 循环中运行 PHP,有什么方法可以跟踪迭代?
【发布时间】:2011-07-29 16:27:37
【问题描述】:

我想知道是否有任何方法可以在 PHP 的 for 循环中跟踪 JavaScript 变量。

我绝对知道这不是好的设计。但是,我正在尝试破解一些现有代码。如果我能够完成这项工作,我可能不必转储现有代码......

谢谢你们。任何技巧、技巧和窍门都会奏效!!

例子:

//JavaScript for loop
for (var i = 0; i <4; ++i) {

    //Echo the JavaScript variable "i", the iteration of the loop
    <?php echo /*JavaScript var i */ ;   ?>

}

编辑:更多背景信息

我正在开发一个项目,其中数据通过 XML 提供,API 用 PHP 编写并返回一个 PHP 数组。前端是在使用大量 JavaScript 的同时设计的。我将需要通过多次迭代使用我的 PHP 对象中的字段填充 JavaScript 字段。因此,JavaScript for 循环中的 PHP。

前端和后端都不是我写的,请注意。 :P

【问题讨论】:

    标签: php javascript variables loops iteration


    【解决方案1】:

    那肯定行不通。

    JavaScript 循环的主体将是 PHP 回显的任何内容,在您的示例中,这 不是 有效的 PHP 语法。

    示例

    想象一下这是一个 HTML 视图...

    for (var i = 0; i < 4; ++i) {
        <?php echo 'a';   ?>
    }
    

    ...输出将是...

    for (var i = 0; i < 4; ++i) {
        a
    }
    

    【讨论】:

    • 是的,我肯定知道它不会起作用,我肯定知道这不是正确的 PHP 语法。我只是想知道是否有任何可能的方法来实现这一点。
    【解决方案2】:

    您从根本上误解了 PHP 和 Javascript 的工作原理。 PHP 在服务器上执行,在生成页面时,在页面发送到客户端之前。

    在页面生成并被客户端接收之后,Javascript 将启动。

    您要做的是让司机在汽车仍在工厂的装配线上时更换汽车中的广播电台。不可能。

    【讨论】:

    • 是的,我理解这里的根本区别。我只是希望有一些可能的方法..
    • 当然,你可以使用 AJAX 通过 PHP 来往返 i 的 JS 端值,但有什么意义呢?
    • 重点是,我正在尝试将用不同语言编写的 hack 作业与不同的设计结合起来,并将它与另一个本来不打算处理它的 hack 作业结合起来。我可以重写任一端以使其适合彼此,或者编写更多的 hacky 工作来尝试调解两者。第二种选择是目前最便宜的,只要它能完成工作..哈哈。不过谢谢你的想法。这可能是我要走的路线。
    • 那么 PHP 的东西会向 Javascript 发送一个 PHP 数组吗?你的意思是文字serialize() 输出?或json_encode() 输出?如果是json,那么已经是原生javascript了,不用再牵扯php了。
    【解决方案3】:

    您不能混合使用服务器端脚本和客户端脚本。

    为此,只制作了 AJAX。 :)

    你可以使用 jquery、mootool、闭包...等

    【讨论】:

      【解决方案4】:

      我想我明白你想要做什么。如果在基本层面上,您想在客户端的 javascript 中使用 PHP 变量中的值,您需要回显整个部分并“打印”php 值并将其分配给 javascript 变量。

      这篇文章谈到它:http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/290401

      如果我在错误的轨道上,那么无论如何都要阅读:)

      【讨论】:

        猜你喜欢
        • 2016-04-07
        • 2020-01-19
        • 1970-01-01
        • 2015-08-19
        • 2014-12-13
        • 2020-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多