PHP配列をJavaScript関数に渡す [重複] 質問する

PHP配列をJavaScript関数に渡す [重複] 質問する

PHP 配列変数を JavaScript 変数に取得しようとしています。

これが私のコードです:

<html>
    <head>
        <script type="text/javascript">
              function drawChart(row,day,week,month,date)
              {
                  // Some code...
              }
        </script>
    </head>

    <body>
        <?php
            for($counter = 0; $counter<count($au); $counter++)
            {
                switch($au[$counter]->id)
                {
                    case pageID.'/insights/page_active_users/day':
                        $day[] = $au[$counter]->value;
                    break;
                    case pageID.'/insights/page_active_users/week':
                        $week[] = $au[$counter]->value;
                    break;
                    case pageID.'/insights/page_active_users/month':
                        $month[] = $au[$counter]->value;
                    break;
                }
            }
        ?>
        <script>
            drawChart(600/50, '<?php echo $day; ?>', '<?php echo $week; ?>', '<?php echo $month; ?>', '<?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>');
        </script>
    </body>
</html>

PHP 配列の値を取得できません。

この問題をどうやって解決すればいいでしょうか?

ベストアンサー1

使用翻訳

次の例では、$php_variable任意の PHP 変数を使用できます。

<script type="text/javascript">
    var obj = <?php echo json_encode($php_variable); ?>;
</script>

コードでは、次のように使用できます。

drawChart(600/50, <?php echo json_encode($day); ?>, ...)

JSON 文字列からオブジェクトを解析する必要がある場合 (AJAX リクエストなど)、JSON.parse(..)以下のように使用するのが安全です。

var s = "<JSON-String>";
var obj = JSON.parse(s);

おすすめ記事