【问题标题】:PHP variable as Javascript variable namePHP 变量作为 Javascript 变量名
【发布时间】:2014-11-11 21:11:33
【问题描述】:

我知道这种帖子经常在互联网上找到。但是我的问题有点困难,我没有找到答案。

我想在 Javascript 中使用变量名在循环中创建一个关联数组。 ($JJ = 对象表) ($JJ->getResto($DB,$acad) 允许我恢复我的数据库数据)

$JJ = new RestaU();  
$JJ = $JJ->getResto($DB,$acad);
    for ($i = 0; $i <= sizeof($JJ)-1; $i++) {
        //Datas recovering
        $lat = $JJ[$i]->loc_lat;
        $long = $JJ[$i]->loc_long;
        $name = $JJ[$i]->nom;
        $ville = $JJ[$i]->ville;

        //String treatment to avoid spaces
        $ville = str_replace(" ","",$ville);
        $name = str_replace(" ","",$name);

echo <<< SC
    <script>
            //here $ville will contain an google map object associated to the ville name.
            //It means that I need to change it for each "for" loop.

            var $ville = new Object();

            //that is why here I need to have $ville["name"] to generate a table for each city 
            //and have an access to it later.
            $ville+["name"] = new google.maps.LatLng($lat,$long);
            console.log(string2);
    </script>
SC;

我的问题是,我找不到正确的解决方案,例如 ville1["name"]。每次代码没有被“解释”时,这意味着我可以拥有字符串,但它不会创建我的数组。

非常感谢您提出的所有想法!

评论中的解决方案。 我用过: var string = "$ville"; 窗口[字符串]["名称"] = "blabla";

效果很好。

【问题讨论】:

  • 如果您阅读了整个主题,则不是重复的 :)
  • 而问题是你的JS无法读取PHP变量?还是...?
  • @Martijn 真的很抱歉我重复了?我没有阅读它的答案。我将再阅读一次该主题。谢谢
  • @devJunk:我找不到如何创建名称可以更改的表。因为我需要使用 table["attribute"],所以当我连接时我没有制作表格。 (很难说清楚,抱歉)。

标签: javascript php


【解决方案1】:

php 是服务器语言,javascript 是 clint 浏览器语言!
实际上你不能共享变量!
但是您可以将变量打印到 javascript 代码中,例如:

<script>
  var myvar = '<?php echo $myvar; ?>';
</script>

如果您想将变量从 javascript 发送到 php,您必须使用 Ajax
对于数组

<script>
    <?php
    $array = array('index1'=>'hellow World!','index2'=>'Iran haven`t nuclear bomb');
    echo 'var arryname = new Array();';
    foreach($array as $key=>$val){
      echo "\n arryname['{$key}'] = '{$val}';";
    }
    ?>
</script>

【讨论】:

  • 嗨,谢谢你的回答@M.Eskandari。 // 如果我这样做: var myvar = '';我可以稍后使用:myvar["att.1"]?它会起作用吗?我试试看。
  • 你应该用javascript打印所有索引!我将编辑答案并将打印数组的代码从 php 添加到 JS!
  • 不,它没有字。当我尝试执行 console.log(myvar["att.1"]) 时,控制台中有“未定义”。这意味着我认为没有创建表。
  • 非常感谢您抽出宝贵时间。我正在尝试理解这一点。
  • 我正在尝试,如果可行,我肯定会接受!
猜你喜欢
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2011-01-11
相关资源
最近更新 更多