将城市名称从php传递到js(第2部分)


Pass city name from php to js (part 2)

续。基于所选州的马来西亚城市展示

  • 城市数据json($cityJsonObject

    Array ( [0] => stdClass Object ( [cityId] => c1 [cityName] => Kajang [cityStateId] 
    => s2 ) [1] => stdClass Object ( [cityId] => c2 [cityName] => Seputeh 
    [cityStateId] => s1 ) [2] => stdClass Object ( [cityId] => c3 [cityName] => Shah 
    Alam [cityStateId] => s2 ) [3] => stdClass Object ( [cityId] => c4 [cityName] => 
    Klang [cityStateId] => s2 ) [4] => stdClass Object ( [cityId] => c5 [cityName] => 
    Kepong [cityStateId] => s1 ))
    
  • 代码(城市名称)

    <?php
        for($i = 0; $i < count($cityJsonObject); $i++)
        {
            echo $cityJsonObject[$i]->cityName;
            //PASS VARIABLE TO JS
        }
    ?>
    <script type="text/javascript">
        //GET VARIABLE FROM PHP AND DISPLAY CITY NAME
    </script>
    
  • 从上面的代码中,我可以得到以下内容:

    Kajang 
    Seputeh
    Shah Alam
    Klang
    Kepong
    
  • 我的问题是如何将上面的城市名称传递到一个变量中并传递给js?我该怎么办?

您可以使用json_encode并输出一个字符串,该字符串将被javascript 轻松解析

试试这个代码

<?php
    $array_to_js = array();
    for($i = 0; $i < count($cityJsonObject); $i++)
    {
        $array_to_js[] = $cityJsonObject[$i]->cityName;
    }
?>
<script type="text/javascript">
    //GET VARIABLE FROM PHP AND DISPLAY CITY NAME
    var js_array = <?php echo json_encode($array_to_js, JSON_HEX_QUOT) ?>;
</script>
<?php
echo '<script type="text/javascript">';
// your php code here maybe you can need json_encode(), I'm not sure I get what you mean.
echo json_encode($cityJsonObject);
echo '<script>';
?>