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