ホームページ > 記事 > ウェブフロントエンド > PHP 配列を操作のために JavaScript 関数に効果的に渡すにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。