首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php变量异常行为

php变量异常行为
EN

Stack Overflow用户
提问于 2012-08-17 16:37:19
回答 3查看 82关注 0票数 1

我试图同时递增java脚本变量和php变量的值,所以在我的java脚本中我这样做了:

代码语言:javascript
复制
<script>
<?php $i=1;?>
for(var i=1;i<=5;i++){
var abc = $('<input>').attr('name','demo'+i).attr('value','<?php echo set_value('demo'.$i++));
 <?php echo $i; ?>
 }
</script>

然而,每次$i回显的值是2,从逻辑上讲,它应该增加java脚本循环迭代和回显5的次数,但它不是,我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-17 16:40:07

PHP代码不能与Javascript代码同时运行。

在客户端接收页面之前,PHP代码在服务器上运行。在客户端收到页面后,Javascript代码在客户端上运行。

您需要在PHP代码中编写一个循环,为Javascript代码提供完整的数据。

一种常见的方法是将其放入数组中,并将其编码为JSON服务器端,然后将JSON提供给Javascript进行进一步处理。请注意,在Javascript端不需要对数据进行额外的解析,如果您只是将其赋给一个变量- JSON是有效的Javascript。

进一步阅读

  • JSON in PHP
  • JSON in Javascript
票数 5
EN

Stack Overflow用户

发布于 2012-08-17 16:52:40

这段代码中没有循环!(如果你问PHP解释器)。

它只是一个输出几行文本的PHP脚本(恰好是Javascript代码,恰好包含一个Javascript循环)。

票数 0
EN

Stack Overflow用户

发布于 2012-08-17 16:52:56

您可以尝试理解以下代码:

代码语言:javascript
复制
<script>
    <?php
    echo "var data = [";
    for ($i = 1; $i <= 5; $i++) {
        echo "'".set_value('demo'.$i)."'";
    }
    echo "];";
    ?>

    for (var i = 1; i <= 5; i++) {
        var abc = $('<input>').attr('name', 'demo' + i).attr('value', data[i]);
    }
</script>

实际发生的情况是,一旦您运行此php文件,php块就会生成类似以下内容的输出:

代码语言:javascript
复制
var data = ['demo1 value', 'demo2 value', 'demo3 value','demo4 value','demo5 value',];

这是javascript中的一个数组,您可以在php块下面的javascript代码中使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12002484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档