>웹 프론트엔드 >JS 튜토리얼 >조작을 위해 PHP 배열을 JavaScript 함수에 효과적으로 전달하려면 어떻게 해야 합니까?

조작을 위해 PHP 배열을 JavaScript 함수에 효과적으로 전달하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-08 04:46:01407검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.