>  기사  >  백엔드 개발  >  PHP 배열을 json 객체로 변환하는 방법

PHP 배열을 json 객체로 변환하는 방법

PHPz
PHPz원래의
2023-04-17 16:36:45979검색

PHP에서 배열은 일반적인 데이터 구조 중 하나입니다. 이제는 데이터 교환 및 프런트엔드와 백엔드 분리의 인기가 높아짐에 따라 JSON 데이터 형식이 널리 사용된다고 할 수 있습니다. 그렇다면 PHP의 배열을 JSON 객체로 변환하는 방법은 무엇일까요? 이 기사에서는 그 답을 알려 줄 것입니다.

1. PHP 내장 함수 json_encode() 사용

PHP는 PHP 배열을 JSON 개체로 변환하는 내장 함수 json_encode()를 제공합니다. json_encode() 함수는 PHP 변수를 매개변수로 받아들이고 변수를 JSON 형식의 문자열로 인코딩합니다. 다음은 json_encode() 함수를 사용하여 PHP 배열을 JSON 객체로 변환하는 예입니다.

$my_array = [1, 2, 'hello', 'world'];
 
$json_string = json_encode($my_array);
 
echo $json_string;

위 코드의 출력은 다음과 같습니다.

[1,2,"hello","world"]

json_encode() 함수의 두 번째 선택적 매개변수 $option의 기본값은 0으로, 이는 출력 결과에 들여쓰기가 없음을 의미합니다. 이 매개변수를 JSON_PRETTY_PRINT로 설정하면 결과를 더 쉽게 읽을 수 있습니다.

2. PHP 내장 함수 json_decode()를 사용하세요

PHP는 json_encode() 함수에 대응하여 JSON 형식 문자열을 PHP 배열로 변환하는 json_decode() 함수도 제공합니다. ) 함수를 JSON 객체를 PHP 배열로 변환하는 예입니다.

$json_string = '[1,2,"hello","world"]';
 
$my_array = json_decode($json_string);
 
var_dump($my_array);

출력 결과는 다음과 같습니다.

array(4) { [0]=> int(1) [1]=> int(2) [2]=> string(5) "hello" [3]=> string(5) "world" }

json_decode() 함수는 기본적으로 JSON 문자열을 stdClass 객체로 변환한다는 점에 유의해야 합니다. 이를 PHP 배열로 변환하려면 아래와 같이 json_decode() 함수의 두 번째 매개변수를 true로 설정할 수 있습니다.

$json_string = '{"name": "Tom", "age": 18}';
 
$my_array = json_decode($json_string, true);
 
var_dump($my_array);

출력 결과는 다음과 같습니다.

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(18) }

3 PHP 클래스 라이브러리를 사용하세요

. JSON 데이터에 대한 고급 편집 작업을 수행하려면 pecl-json 또는 jsonlint와 같은 PHP의 JSON 라이브러리를 사용할 수 있습니다. 이러한 라이브러리는 json_encode() 및 json_decode() 함수보다 더 많은 옵션과 기능을 제공합니다.

예를 들어, pecl-json 클래스 라이브러리를 사용하면 PHP 배열을 JSON 객체로 쉽게 변환할 수 있습니다.

use \JsonSerializable;
 
class MyArray implements JsonSerializable
{
    private $arr;
 
    public function __construct($arr = [])
    {
        $this->arr = $arr;
    }
 
    public function jsonSerialize()
    {
        return $this->arr;
    }
}
 
$my_array = new MyArray([1, 2, 'hello', 'world']);
 
$json_string = json_encode($my_array);
 
echo $json_string;

출력 결과는 다음과 같습니다.

[1,2,"hello","world"]

PHP 객체를 JSON 객체로 변환할 때 주의해야 할 점 , 이 PHP 개체가 JsonSerialized 인터페이스를 구현하도록 해야 합니다. JsonSerialize 인터페이스를 구현한 후 json_encode() 함수는 인터페이스 메서드 jsonSerialize()를 호출하여 PHP 객체를 JSON 객체로 변환합니다.

결론

이 글에서는 PHP에서 배열을 JSON 객체로 변환하는 방법을 설명합니다. PHP의 내장 함수인 json_encode() 및 json_decode()를 사용하면 기본 데이터 형식을 쉽게 변환할 수 있습니다. 고급 JSON 데이터 편집 작업을 수행해야 하는 경우 PHP에서 JSON 클래스 라이브러리를 사용할 수 있습니다. 다른 라이브러리를 사용하지 않고도 다음과 같이 배열을 json으로 변환할 수 있습니다.

$my_array = [1, 2, 'hello', 'world'];

$json_string = json_encode($my_array);

$result_array = json_decode($json_string, true);

정말 간단하고 편리합니다!

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

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