>  기사  >  백엔드 개발  >  배열을 json 형식으로 변환 PHP

배열을 json 형식으로 변환 PHP

王林
王林원래의
2023-05-22 22:04:40833검색

웹 개발에서는 JavaScript와 같은 클라이언트 스크립트의 액세스를 용이하게 하기 위해 데이터를 JSON 형식으로 프런트 엔드에 반환해야 하는 경우가 많습니다. PHP에서는 json_encode() 함수를 사용하여 PHP 배열을 JSON 문자열로 변환할 수 있습니다.

다음은 $student라는 PHP 배열을 정의한 후 json_encode() 함수를 사용하여 이를 JSON 문자열로 변환하고 반환하는 예입니다.

$student = array(
    'name' => 'Sam',
    'age' => 18,
    'school' => 'ABC High School'
);
$json_str = json_encode($student);
echo $json_str;

이때 출력되는 $json_str은 JSON 형식 문자입니다. 문자열:

{
    "name":"Sam",
    "age":18,
    "school":"ABC High School"
}

보시다시피 JSON 문자열은 키-값 쌍의 형태로 데이터를 나타내며 중괄호를 사용하여 전체 데이터 개체를 나타냅니다.

배열이 더 복잡할 경우 json_encode() 함수의 두 번째 매개변수인 $options를 사용할 수도 있습니다. 이는 PHP 배열을 JSON 문자열로 변환하는 방법을 지정할 수 있는 제어 옵션입니다. $options에 대한 몇 가지 일반적인 옵션은 다음과 같습니다.

  • JSON_FORCE_OBJECT: PHP 배열을 배열 대신 순수 객체(객체)로 변환합니다.
  • JSON_HEX_TAG: 95ec6993dc754240360e28e0de8de30a, &, ', "와 같은 문자를 해당 HTML 엔터티로 변환합니다.
  • JSON_PRETTY_PRINT: 쉽게 읽을 수 있도록 생성된 JSON 문자열의 형식을 지정하고 출력합니다.

다음은 예입니다. 여러 학생에 대한 정보가 포함된 $class라는 PHP 배열을 정의합니다. $options 옵션을 사용하여 PHP 배열을 객체로 만들고 JSON_PRETTY_PRINT 옵션을 사용하여 출력 형식을 지정합니다.

$class = array(
    array('name' => 'John', 'age' => 17, 'school' => 'ABC High School'),
    array('name' => 'Mike', 'age' => 18, 'school' => 'DEF High School'),
    array('name' => 'Lucy', 'age' => 16, 'school' => 'GHI High School')
);

$json_str = json_encode($class, JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);
echo $json_str;

Output JSON.

{
    "0": {
        "name": "John",
        "age": 17,
        "school": "ABC High School"
    },
    "1": {
        "name": "Mike",
        "age": 18,
        "school": "DEF High School"
    },
    "2": {
        "name": "Lucy",
        "age": 16,
        "school": "GHI High School"
    }
}

간단히 말하면, PHP에서는 배열을 JSON 형식으로 변환하는 것이 매우 간단합니다. json_encode() 함수만 호출하면 됩니다. 동시에 출력 JSON 문자열의 형식도 제어할 수 있습니다. $옵션 옵션.

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

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