【问题标题】:Using javascript for loop, access php array variables使用javascript for循环,访问php数组变量
【发布时间】:2015-09-05 18:38:48
【问题描述】:

一个我似乎想不通的小问题;

所以我有一个 php 数组,我想使用 for 循环通过 javascript 访问该数组以指定索引。例如,

<?php 
 $myArray = array("a", "b", "c");
?>

<script type="text/javascript">
for(var i = 0; i < elements.length; i++){
        $('<div class="pops"> Hello '+ THIS IS WHERE I WANT THE PHP VARIABLES +'</div>').appendTo(elements[i]);
</script>

我想在 javascript for 循环中使用“i”访问 $myArray 中的变量,因为变量的数量与 for 循环迭代的数量相同。

我已尝试阅读可能的解决方案来解决此问题,但无法弄清楚。 我试过使用下面的代码,但什么也没想到;

$('<div class="pops"> Hello '+ <?php echo $myArray[i]; ?> +'</div>').appendTo(elements[i]);

我觉得我在这里遇到了麻烦,因为以下两个原因;我的语法可能完全错误。我用来访问数组索引的“i”变量仍然是一个 javascript 变量。

我是 javascript/php 新手,请见谅。 感谢您的任何帮助!

【问题讨论】:

    标签: javascript php html arrays for-loop


    【解决方案1】:

    很简单,转换为 json 并添加到脚本元素。

    <?php $myArray = array("a", "b", "c"); ?>
    
    <script type="text/javascript">
    
    // I assume phpArray length equals to elements length
    
    var phpArray = <?php echo json_encode($myArray); ?> ;
    for(var i = 0; i < elements.length; i++){
        $('<div class="pops"> Hello '+ phpArray[i] +'</div>').appendTo(elements[i]);
    
    </script>
    

    【讨论】:

    • 谢谢。实际上,返回时我仍然得到一个空的 myArray
    【解决方案2】:

    我看到了两种方法:一种是使用 JSON,正如 @venca 所说。

    另一种方法是使用 php 循环。

    <?
      foreach ($myArray as $elem){
        echo '<div class="pops"> Hello '.$elem.'</div>';
      }
    ?>
    

    这将为您的 php 数组中的每个元素生成一个带有类 pops 的 div。如果你想运行一些 javascript 代码,你应该这样:

    <script>
    <?
      int i=0;
      foreach ($myArray as $elem){
        echo '$("<div class=\"pops\"> Hello '.$elem.'</div>").appendTo(elements['.i.'])';
        i++;
      }
    ?>
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2012-06-08
      • 2012-09-26
      • 2011-03-02
      相关资源
      最近更新 更多