PHP 배열은 그대로 JavaScript에서도 활용할 수 있습니다. 단일 차원 배열뿐만 아니라 다차원(중첩) 배열에도 모두 적용되며, 이를 위해 json_encode() 함수를 사용하면 됩니다.
PHP 배열 준비하기
먼저 예시로 사용할 PHP 배열은 다음과 같습니다.
$myArr = array('Amit', 'amit@example.com');PHP 배열을 JavaScript로 변환하기
이제 json_encode() 함수를 이용해 PHP 배열을 JSON 형식으로 변환한 뒤, JavaScript 변수에 할당합니다.
<script> var arr = <?php echo json_encode($myArr); ?>; </script>
위 코드는 서버에서 실행될 때 PHP 배열이 JSON 문자열로 변환되어 HTML에 삽입되며, 결과적으로 JavaScript의 arr 변수는 일반적인 JS 배열처럼 동작하게 됩니다.
변환된 배열 접근하기
배열 변환이 완료되면 일반적인 JavaScript 배열과 동일한 방식으로 요소에 접근할 수 있습니다. 아래 코드는 두 번째 요소인 이메일 주소를 화면에 출력하는 예시입니다.
document.write(arr[1]);
출력 결과:
amit@example.com
참고 사항
다차원 배열 역시 동일한 방법으로 변환할 수 있으며, 변환된 값은 JSON 객체 또는 배열 형태가 되므로 JSON.parse() 없이 바로 사용할 수 있습니다. 단, PHP와 JavaScript 간 데이터를 주고받을 때는 XSS 공격을 방지하기 위해 필요에 따라 json_encode()에 JSON_HEX_TAG 같은 플래그를 함께 사용하는 것이 안전합니다.