>  기사  >  백엔드 개발  >  PHP에서 js에 배열을 전달하는 방법

PHP에서 js에 배열을 전달하는 방법

PHPz
PHPz원래의
2023-04-20 09:10:05931검색

PHP와 JavaScript 간 데이터 전달은 다양한 방법이 포함된 웹 개발에서 중요한 주제이지만, PHP와 JS가 서로 다른 데이터 구조와 언어를 가지고 있다는 점을 고려하면 배열 전달은 여전히 ​​중요한 문제입니다. 교활한. 그러나 몇 가지 간단하고 효과적인 트릭을 사용하면 PHP와 JS 간에 배열을 쉽게 전달할 수 있습니다. 이 글에서는 PHP에서 JS로 배열을 전달하는 몇 가지 기술을 소개하겠습니다. 이 기술이 여러분에게 도움이 되기를 바랍니다.

방법 1: json_encode() 사용

JSON은 웹 애플리케이션 간의 데이터 전송에 널리 사용되는 경량 데이터 형식입니다. PHP는 PHP 배열을 JSON 형식으로 직렬화한 다음 이를 JS에 전달할 수 있는 json_encode()라는 내장 함수를 제공합니다. JSON 형식은 일반 텍스트이고 특정 로캘이 필요하지 않기 때문에 구문 분석 및 생성이 매우 쉽습니다. 다음은 json_encode() 메서드를 사용하여 배열을 JSON 형식으로 변환하는 간단한 PHP 스크립트입니다.

<?php
    $arr = array("apple", "banana", "orange");
    $json = json_encode($arr);
    echo $json;
?>

이렇게 하면 다음과 유사한 문자열이 출력됩니다.

["apple","banana","orange"]

이제 JavaScript에 내장된 JSON 파서( JSON.parse)를 사용할 수 있습니다. ()) 문자열을 JS 배열로 구문 분석합니다.

<script>
    var jsArray = JSON.parse('<?php echo $json; ?>');
</script>

방법 2: Ajax 사용

Ajax(비동기 JavaScript 및 XML)는 비동기 JavaScript 및 XML 기술로, 비동기 요청을 서버에 보내 별도의 작업 없이 데이터를 얻을 수 있습니다. 전체 페이지를 새로 고쳐야 합니다. Ajax를 사용하면 PHP에서 처리한 배열 데이터를 XML 형식의 데이터로 내보내고 Ajax를 통해 JS에 전달할 수 있습니다.

먼저 PHP를 사용하여 배열을 XML 형식의 문자열로 변환한 다음 이를 Ajax 요청으로 반환해야 합니다.

<?php
    $arr = array("apple", "banana", "orange");

    $xml = new SimpleXMLElement(&#39;<root/>');
    array_walk_recursive($arr, array ($xml, 'addChild'));
    echo $xml->asXML();
?>

JS에서는 Ajax(XMLHttpRequest 개체)를 사용하여 XML 형식의 데이터를 가져와야 합니다.

<script>
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var xmlDoc = this.responseXML;
            var jsArray = Array.from(xmlDoc.getElementsByTagName("root")[0].childNodes).map(function(node){return node.firstChild.nodeValue;});
        }
    };
    xhttp.open("GET", "array_to_xml.php", true);
    xhttp.send();
</script>

방법 3: 숨겨진 필드 사용

이 기술은 PHP 배열 데이터를 HTML 페이지에 전달한 다음 JS의 숨겨진 필드를 사용하여 데이터를 가져오는 것입니다. HTML 양식 요소(예: 입력 요소)에는 모두 소위 값 속성이 있는데, 이를 통해 양식이 제출될 때 서버에 값을 전달할 수 있습니다. 마찬가지로 HTML 페이지의 숨겨진 필드에 배열 데이터를 전달하고 JS를 통해 가져올 수 있습니다. 다음은 숨겨진 필드를 사용하는 한 가지 방법입니다.

<?php
    $arr = array("apple", "banana", "orange");
?>
<input type="hidden" id="php_array" value="<?php echo implode(",", $arr); ?>">
<script>
    var jsArr = document.getElementById("php_array").value.split(",");
</script>

이 예에서 PHP 코드는 배열의 값을 쉼표로 구분한 다음 이를 숨겨진 필드의 값으로 사용합니다. JS에서는 value 속성을 사용하여 값을 추출하고 이를 배열로 그룹화할 수 있습니다.

방법 4: JavaScript 변수 사용하기

이 방법은 PHP 배열 데이터를 JavaScript 코드로 전달하고 JavaScript 변수를 사용하여 배열 데이터를 저장하는 것입니다. PHP는 배열 데이터를 JS 코드 문자열로 작성한 다음 이를 브라우저에 출력합니다. JS는 문자열을 사용하여 배열을 생성할 수 있습니다. 다음은 JavaScript 변수를 사용하는 예입니다.

<?php
    $arr = array("apple", "banana", "orange");
    $js_array = json_encode($arr);
?>
<script>
    var jsArr = <?php echo $js_array; ?>;
</script>

이 예에서 PHP는 json_encode() 메서드를 사용하여 배열을 JSON 형식으로 변환한 다음 이를 JS 코드 문자열로 작성합니다. JS 코드는 jsArr 변수를 직접 사용하여 배열 데이터를 얻을 수 있습니다.

이 글에서는 PHP가 JS에 배열을 전달하는 방법을 간략하게 소개했습니다. 다양한 기술을 사용하여 PHP에서 JS로 데이터를 전달할 수 있지만 가장 널리 사용되고 실용적인 방법 중 하나는 JSON JavaScript 개체 표기법을 사용하는 것입니다. JSON을 사용하면 PHP 배열을 JS 배열로 쉽게 변환하고 PHP와 JS 간의 원활한 데이터 전송을 달성할 수 있습니다.

위 내용은 PHP에서 js에 배열을 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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