PHP变量作为Javascript变量名

时间:2014-11-11 21:11:34

标签: javascript php

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

我想在一个带有变量名的循环中在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”; window [string] [“name”] =“blabla”;

效果很好。

1 个答案:

答案 0 :(得分: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>