ホームページ  >  記事  >  ウェブフロントエンド  >  PHP 配列を操作のために JavaScript 関数に効果的に渡すにはどうすればよいですか?

PHP 配列を操作のために JavaScript 関数に効果的に渡すにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-08 04:46:01298ブラウズ

How do I effectively pass a PHP array to a JavaScript function for manipulation?

JavaScript 関数に渡される PHP 配列

JavaScript での PHP 配列の操作は一般的な要件です。このガイドでは、JSON を使用して PHP 配列を JavaScript 関数に渡す効率的な方法の概要を説明します。

問題:

PHP から JavaScript の関数に配列を渡そうとしていますが、問題が発生しました。コード サンプルは次のとおりです。

<?php
$au = [];
for ($counter = 0; $counter < count($au); $counter++) {
    switch ($au[$counter]->id) {
        case pageID.'/insights/page_active_users/day':
            $day[] = $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>

回避策:

JSON を使用して PHP 配列を文字列にエンコードし、それを JavaScript 関数に渡します。エンコード形式は次のとおりです。

echo json_encode($day);

JavaScript では、JSON.parse() メソッドを使用して、受信した JSON 文字列を解析します。

var obj = JSON.parse('<?php echo json_encode($day); ?>');

変更されたコードは次のとおりです。

<?php
$au = [];
for ($counter = 0; $counter < count($au); $counter++) {
    switch ($au[$counter]->id) {
        (...)
    }
}
?>

<script>
drawChart(600/50, <?php echo json_encode($day); ?>, <?php echo json_encode($week); ?>, <?php echo json_encode($month); ?>, <?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>);
</script>

このアプローチにより、PHP 配列値が安全かつ信頼性の高い方法で JavaScript 関数に渡されることが保証されます。

以上がPHP 配列を操作のために JavaScript 関数に効果的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。