Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

PHP 배열을 JavaScript 함수로 전달하는 방법 – json_encode 완벽 가이드

PHP에서 생성한 배열을 JavaScript 함수나 변수로 전달해야 하는 경우가 자주 있습니다. 이때 가장 간단하고 안정적인 방법은 PHP의 json_encode() 함수를 활용하는 것입니다. 아래 코드를 통해 PHP 배열을 그대로 JavaScript 변수에 담을 수 있습니다.

<script>
    var var_name = <?php echo json_encode($php_variable); ?>;
</script>

AJAX 응답으로 받은 JSON 문자열 처리하기

반대로, AJAX 요청 등을 통해 서버에서 JSON 형태의 문자열을 받아온 뒤 이를 JavaScript 객체로 변환해야 하는 경우에는 JSON.parse() 메서드를 사용하면 됩니다.

var my_data = "<JSON-String>";
var my_var = JSON.parse(my_data);

예제

실제 동작 과정을 예제를 통해 살펴보겠습니다. 먼저 PHP에서 배열을 생성한 후, json_encode()로 변환하여 JavaScript 변수에 할당하고, 반복문으로 배열 요소를 출력합니다.

<?php
    // PHP 배열 생성
    $sample_array = array(
        0 => "Hello",
        1 => "there",
    )
?>
<script>
    // json_encode로 변환된 배열을 JavaScript 변수에 저장
    var passed_array = <?php echo json_encode($sample_array); ?>;
    // 배열의 각 요소를 화면에 출력
    for(var i = 0; i < passed_array.length; i++){
        document.write(passed_array[i]);
    }
</script>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Hellothere

정리

PHP 배열을 JavaScript로 전달할 때는 json_encode()를 사용해 JSON 형식으로 변환하는 것이 표준적인 방법입니다. 이 방식은 문자열, 숫자뿐 아니라 다차원 배열이나 연관 배열(객체)도 문제없이 처리할 수 있어 데이터 교환 시 유용하게 활용됩니다.