>  기사  >  백엔드 개발  >  JSON 문자열을 PHP 배열로 변환

JSON 문자열을 PHP 배열로 변환

PHPz
PHPz원래의
2023-04-23 09:17:15129검색

PHP에서 JSON 형식의 문자열을 배열로 변환하는 과정은 매우 간단합니다. 이 목적으로 사용할 수 있는 두 가지 PHP 내장 함수, json_decode() 및 json_decode_object()가 있습니다.

1. json_decode() 함수 사용

json_decode() 함수는 JSON 형식 문자열을 PHP 배열로 변환하는 일반적인 방법입니다.

구문: ​​

<code>mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )</code>

중:

  • $json: 구문 분석해야 하는 json 문자열
  • $assoc: 반환된 개체를 연관 배열로 변환할지 여부입니다. 연관 배열로 변환됩니다. 기본값은 변환하지 않는 것입니다.
  • $깊이: 재귀 깊이를 설정합니다. 기본값은 512입니다. 메모리 오버플로를 방지하기 위해 실제 상황에 따라 이 값을 조정할 수 있습니다. options: 선택적 매개변수로 JSON 구문 분석을 위한 옵션을 지정할 수 있습니다.
  • 예:

JSON 형식 문자열을 배열로 변환:

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string);
print_r($decoded_json);
?></code>

출력:

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

위 코드에서는 먼저 JSON 형식 문자열을 정의한 다음 json_decode() 함수를 호출하여 문자 변환을 디코딩합니다. 문자열을 PHP 배열 $decoded_json에 넣고 결과를 인쇄합니다.

반환 결과를 연관 배열로 변환하려면 $assoc 매개 변수를 TRUE로 설정해야 합니다.

<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode($json_string, true);
print_r($decoded_json);
?></code>

출력:

<code>Array
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

위 출력에서 ​​볼 수 있듯이 $decoded_json 배열은 다음과 다릅니다. 마지막 출력 개체는 이 시점에서 $assoc이 TRUE로 설정되고 연관 배열로 변환되기 때문입니다. $assoc이 설정되지 않은 경우 기본적으로 배열 대신 객체를 반환합니다.

2. json_decode_object() 함수를 사용하세요

json_decode() 함수 외에도 PHP는 JSON 형식 문자열을 PHP 배열로 변환하는 또 다른 방법인 json_decode_object() 함수를 제공합니다.

구문: ​​

<code>object json_decode_object ( string $json_string [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )</code>

중:

$json_string: 구문 분석해야 하는 json 문자열
  • $assoc: 반환된 개체를 연관 배열로 변환할지 여부입니다. 연관 배열로 변환됩니다. 기본값은 변환하지 않는 것입니다.
  • $깊이: 재귀 깊이를 설정합니다. 기본값은 512입니다. 메모리 오버플로를 방지하기 위해 실제 상황에 따라 이 값을 조정할 수 있습니다. options: 선택적 매개변수로 JSON 구문 분석을 위한 옵션을 지정할 수 있습니다.
  • 예:
  • JSON 형식의 문자열을 배열로 변환:
<code><?php
$json_string = '{"name": "Tom", "age": 30, "sex": "male"}';
$decoded_json = json_decode_object($json_string);
print_r($decoded_json);
?></code>

출력:

<code>stdClass Object
(
   [name] => Tom
   [age] => 30
   [sex] => male
)</code>

위 코드에서는 json_decode_object() 함수를 사용하여 JSON 문자열을 PHP 배열 $decoded_json으로 변환합니다. $assoc 매개변수를 설정하지 않았으므로 기본적으로 배열 대신 객체를 반환합니다.

요약

PHP에서는 json_decode() 함수와 json_decode_object() 함수를 사용하여 JSON 형식 문자열을 PHP 배열로 변환할 수 있습니다. 두 기능 모두 고유한 장점이 있으며 어떤 기능을 선택할지는 특정 요구 사항에 따라 다릅니다. 결과를 객체로 만들고 싶다면 json_decode_object()를 사용하고, 결과를 배열로 만들고 싶다면 json_decode()를 사용하세요. 사용 중에 메모리 오버플로를 방지하려면 실제 상황에 따라 $length 및 $options 매개 변수의 값을 조정해야 합니다.

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

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