>  기사  >  백엔드 개발  >  PHP 배열은 json 문자열을 변환합니다.

PHP 배열은 json 문자열을 변환합니다.

韦小宝
韦小宝원래의
2018-05-14 14:17:175703검색

PHP 개발에서 json을 사용하는 이유는 프로그램과 JS 함수 간의 데이터 상호 작용에 ajax 객체가 자주 사용되기 때문입니다. JS는 PHP의 배열을 인식하지 못하기 때문에 PHP는 JS의 배열이나 객체를 인식하지 못합니다. Json은 이 문제를 매우 잘 해결합니다.

JSON 소개

JSON(JavaScript 개체 표기법)은 가벼운 데이터 교환 형식입니다. 이는 JavaScript의 하위 집합을 기반으로 하며 이는 JavaScript가 Json을 직접 읽을 수 있다는 것을 의미하며 이는 매우 편리합니다.

Json의 구체적인 형식은 다음과 같습니다.

1. 개체

개체는 "이름/값" 쌍의 순서가 지정되지 않은 모음입니다. 객체는 "{"(왼쪽 대괄호)로 시작하고 "}"(오른쪽 대괄호)로 끝납니다. 각 "이름" 뒤에는 ":"(콜론)이 옵니다. "이름/값" 쌍은 ","(쉼표)로 구분됩니다.

예: {"username": "Eric","age":23,"sex": "man"}

코드 예:

<script type="text/javascript">   function getUser() {
        var user = {
            "username": "Eric",
            "age": 23,
            "family": {"mother": "Marry", "father": "Alon", "brother": "Tom"}
        };
        alert(user.username);
        alert(user.age);
        alert(user.family.brother);
    }
    getUser();   </script>

2 Array

Array는 값 시퀀스의 모음입니다. 수집. 배열은 "["(왼쪽 대괄호)로 시작하고 "]"(오른쪽 대괄호)로 끝납니다. 값은 ","(쉼표)로 구분됩니다.

예: ["Eric",23, "man"]

코드 예:

<script type="text/javascript">   function getArray() {
        var arr = ["Jarry", 23, ["www.xiaophper.com", "wxyh_999@126.com"]];
        alert(arr[0]);
        alert(arr[1]);
        alert(arr[2][0]);
        alert(arr[2][1]);
    }
    getArray();   </script>

참고: JS에서는 개체와 배열이 다르게 호출됩니다. 개체는 "."으로 호출됩니다. [0]과 [1]. 또한 Json 문자열을 전달할 때 문자열 유형 값은 따옴표로 묶어야 한다는 점에 유의하세요.

PHP에서 배열을 Json으로 변환

강력한 PHP는 내장 함수인 json_encode() 및 json_decode()를 제공합니다. 이해하기 쉽습니다. json_encode()는 PHP 배열을 Json으로 변환하는 것입니다. 반대로 json_decode()는 Json을 PHP 배열로 변환합니다.

예:

$array = array("name" => "Eric","age" => 23); 
echo json_encode($array);

프로그램은 다음을 인쇄합니다: {"name":"Eric","age":23}

다음 예를 다시 살펴보십시오:

$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);

프로그램은 다음을 인쇄합니다: ["Eric ",23]

위의 두 예에서 볼 수 있듯이 PHP 배열의 키가 모두 숫자인 경우 json_encode()는 Json을 배열 형식으로 반환합니다. PHP 배열의 키가 모두 숫자인 경우 문자열. 그런 다음 json_encode()는 Json을 객체 형태로 반환합니다. 방금 말했어요. js의 두 호출은 다릅니다.
실제로 PHP 배열의 키에 문자열 형태의 키가 있는 한 json_encode()는 Json을 객체 형태로 반환합니다. 이것은 잘못된 것입니다. 왜냐하면 PHP 코드에는 오류가 없더라도 이러한 Json이 JS 함수에 전달되면 JS는 이 Json을 객체로 처리하므로 객체가 숫자를 property이름으로 사용할 수 없기 때문입니다. 즉, JS는 이것이 무엇인지 모릅니다: user.0.username (가운데는 숫자 0)

유사 읽기:

php에서 JSON 사용 및 변환

위 내용은 PHP 배열은 json 문자열을 변환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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