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

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

Barbara Streisand
リリース: 2024-11-08 04:46:01
オリジナル
404 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート