> 백엔드 개발 > PHP 튜토리얼 > PHP의 json_encode() 및 json_decode() 함수에 대한 자세한 설명

PHP의 json_encode() 및 json_decode() 함수에 대한 자세한 설명

PHPz
풀어 주다: 2023-03-22 09:52:02
원래의
24741명이 탐색했습니다.

이 두 가지 기능을 소개하기 전에 먼저 json에 대해 이야기하고 싶습니다. JSON에 대해 얼마나 알고 있는지는 모르겠지만, PHP에 대해 한동안 접한 후 이미 JSON에 대한 인상을 받았지만 단지 그것이 데이터 유형이라는 것만 알고 있을 뿐입니다. 비교적 가볍습니다. 하지만 나는 그 구조에 대해 정말 모호합니다. 지금까지 그것을 사용하기 전까지는 그것을 이해하지 못했습니다. 그래서 연습은 당신이 진정한 지식을 얻었는지 테스트하는 매우 효과적인 방법입니다.

첫 번째는 json_encode()인데, 이는 데이터를 json 형식으로 변환한다는 의미입니다. 그러면 어떤 유형의 데이터를 json 형식으로 변환할 수 있나요?

클래스를 정의하고, 새로운 객체를 정의하면 객체를 json 형식으로 변환할 수 있습니다

<?php
   class Emp {
       public $name = "";
       public $hobbies  = "";
       public $birthdate = "";
   }
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, "8/5/1974 12:20:03 p");
   $e->birthdate = date(&#39;m/d/Y h:i:s a&#39;, strtotime("8/5/1974 12:20:03"));

   echo json_encode($e);
?>
로그인 후 복사

결과

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}
로그인 후 복사

2. 배열.

키-값 쌍의 배열을 정의하세요

<?php
   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);
   echo json_encode($arr);
?>
로그인 후 복사

결과

{"a":1,"b":2,"c":3,"d":4,"e":5}
로그인 후 복사

모두 json 형식의 데이터로 변환된 것을 알 수 있습니다. 사실, 모두 변환되었기 때문에 결과가 동일하다는 것은 아닙니다. JSON에. . 우리가 알아야 할 것은 json 형식으로 변환할 수 있는 데이터 유형은 객체와 키-값 쌍의 배열

두 개: json_decode()

가 뒤따른다는 것입니다. JSON 형식의 문자열을 디코딩하고 이를 PHP 변수로 변환합니다.

코드부터 시작하겠습니다

로그인 후 복사
Print results

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
로그인 후 복사

여기서 첫 번째로 인쇄된 결과는 객체이고 두 번째는 키-값 쌍의 배열임을 확실히 알 수 있습니다.

이런 식으로 json_decode()의 두 번째 매개변수를 잘 설명할 수 있습니다.

true인 경우: 배열을 반환하고, false인 경우(기본값은 false): 객체를 반환합니다.

관련 추천 :

php

PHP json_encode() 함수 상세 설명과 중국어 깨짐 문제

PHP json_encode() 함수 소개

위 내용은 PHP의 json_encode() 및 json_decode() 함수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿