> 백엔드 개발 > PHP 문제 > PHP에서 빈 배열을 json 객체로 변환하는 방법

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

藏色散人
풀어 주다: 2023-03-09 10:10:02
원래의
3078명이 탐색했습니다.

PHP에서 빈 배열을 json 개체로 변환하는 방법: 1. "JSON_FORCE_OBJECT"를 사용하여 json 개체로 변환합니다. 2. 데이터 유형 변환을 사용하여 빈 배열을 json 개체로 변환합니다. 3. ArrayObject를 사용하여 빈 배열을 json 개체로 변환합니다. .

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

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP json_encode는 빈 배열을 객체로 변환합니다.

문제 설명:

php는 클라이언트에 인터페이스를 제공합니다. PC 등 Android, iOS 등에서 json 형식의 데이터가 반환되는 경우, 반환되는 데이터가 배열이고 키가 문자열인 경우 jsonization 후 jsonObject가 반환됩니다. 단, 빈 배열인 경우에는 jsonArray가 반환될 수 있으며 데이터 구조가 일관되지 않습니다. json 구문 분석이 실패하게 됩니다.

예:

$arr  = [
     'id'  => 123.,
     'name'  =>  'andrew' ,
];
 
$jsonRet  = json_encode( $arr );
 
print_r( $jsonRet );
로그인 후 복사

출력:

{
  "id": 123,
  "name": "andrew"
}
로그인 후 복사

하지만 그렇다면:

$arr = [];
$jsonRet = json_encode($arr);
print_r($jsonRet);
로그인 후 복사

출력:

[
  
]
로그인 후 복사

배열이 비어 있는데 어떻게 JsonObject일 수 있습니까?

방법 1:

JSON_FORCE_OBJECT

$arr = [];
$jsonRet = json_encode($arr, JSON_FORCE_OBJECT);
print_r($jsonRet);
로그인 후 복사
사용 방법 2

데이터 유형 변환 사용

$arr = [
    'jsonArray' => [
        '21', '12', '13'
    ],
    'jsonObject' => []
];
$jsonRet = json_encode($arr,JSON_FORCE_OBJECT);
print_r($jsonRet);
로그인 후 복사

방법 3(권장)

ArrayObject 사용

{
  "jsonArray": {
    "0": "21",
    "1": "12",
    "2": "13"
  },
  "jsonObject": {
    
  }
}
로그인 후 복사

출력:

$bar = array();  
$foo = (object)$bar;  
echo json_encode($foo);
로그인 후 복사

【추천 학습: PHP 비디오 튜토리얼

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

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