>백엔드 개발 >PHP 튜토리얼 >PHP에서 json_encode와 json_decode의 차이점 이해

PHP에서 json_encode와 json_decode의 차이점 이해

coldplay.xixi
coldplay.xixi앞으로
2020-07-18 17:01:332602검색

PHP에서 json_encode와 json_decode의 차이점 이해

1. json_encode() 변수의 JSON 인코딩

  • 구문: json_encode($value[,$options=0])
  • 참고: 1. $value는 인코딩된 값입니다. , 이 기능은 UTF8로 인코딩된 데이터에만 유효합니다.
    2. 옵션: 다음 상수로 구성된 바이너리 마스크: json_hex_quot, json_hex_tag, json_hex_amp, json_hex_apos, json_numeck_check, json_pretty_print, Hes, json_force_object; ​ 3. 두 번째 매개변수는 일반적으로 필요하지 않습니다.
    ​​ 4. JSON 데이터는 실제로 문자열이므로 var_dump()를 사용하여 인쇄하여 데이터 유형을 확인할 수 있습니다. ​ 5. 실행이 성공하면 JSON 데이터가 반환되고, 실패하면 FALSE가 반환됩니다.

  • 예:
$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
$json = json_encode($book);
echo $json;

브라우저에서 인쇄된 결과는 다음과 같습니다.

{"a":"xiyouji","b":"sanguo","c":"shuihu","d": "hongloumeng "}

2. json_decode()는 JSON 데이터를 디코딩하여 PHP 변수로 변환합니다

구문: json_decode($json[,$assoc=false[,$length=512[,$options) = 0]]])
  • 참고: 1. $json은 디코딩할 데이터이며 utf8로 인코딩된 데이터여야 합니다.
  • ​​2. $assoc 값이 TRUE이면 배열을 반환하고, FALSE이면 객체를 반환합니다. 3. $length는 재귀 깊이입니다. ​​4. $option 바이너리 마스크는 현재 JSON_BIGINT_AS_STRING만 지원합니다. 5. 일반적으로 처음 두 매개변수만 사용됩니다. 데이터 유형의 데이터를 원할 경우 true 매개변수를 추가하십시오.


  • 예:
    $book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
      $json = json_encode($book);
      
      $array = json_decode($json,TRUE);
      $obj = json_decode($json);
      var_dump($array);
      var_dump($obj);

    브라우저에서 출력되는 결과는 다음과 같습니다.

array(4) { ["a"]=> "xiyouji" ["b"]=> (6 ) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }

object(stdClass)#2 (4) { [" a" ]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> ; string (11) "hongloumeng" }

두 결과는 크게 다르지 않은 것 같지만, 내부 요소를 호출할 때 array와 obj의 메소드가 다릅니다.

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
  $json = json_encode($book);
  
  $array = json_decode($json,TRUE);
  $obj = json_decode($json);
  var_dump($array['b']);//调用数组元素
  echo &#39;<br/>&#39;;
  var_dump($obj->c);//调用对象元素

인쇄 결과는 다음과 같습니다:

string(6) "sanguo" string(6) "shuihu"

이 글은 PHP에서 json_encode와 json_decode의 차이점을 간략하게 분석한 것입니다. more PHP json_encode 및 json_decode에 대한 더 많은 관련 콘텐츠를 보려면 Script House의 이전 기사를 검색하거나 아래의 관련 기사를 계속 탐색하세요. 앞으로도 Script House를 지원해 주시기 바랍니다.

관련 학습 권장 사항:
초보부터 마스터까지 PHP 프로그래밍

위 내용은 PHP에서 json_encode와 json_decode의 차이점 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제