PHP는 적어도 현재 버전에서는 PHP가 리터럴을 지원하지 않는다는 것을 모두 알고 있습니다. 예를 들어 JS에서는 다음과 같이 object
를 정의할 수 있습니다.
var o = { '이름' : 'qttc' , 'url' : 'www.jb51.net' };
경고(o.name);
Python에서 사전 정의는 다음과 같이 정의할 수도 있습니다.
o = { '이름' : 'qttc' , 'url' : 'www.jb51.net' }
o['이름'] 인쇄
하지만 PHP에서는 다음과 같은 객체를 정의합니다.
$a = { "이름" : "qttc", "url" : "www.jb51.net" };
오류가 보고됩니다:
[root@lee www]# php a.php
PHP 구문 분석 오류: 구문 오류, 4행의 /data0/htdocs/www/a.php에 예상치 못한 '{'가 있습니다
json 형식을 빌려서 따옴표로 묶은 다음 json_decoude를 사용할 수 있습니다.
$a = '{ "이름" : "qttc", "url" : "www.jb51.net" }';
$a = json_decode($a);
print_r($a);
실행 결과:
[root@lee www]# php a.php
stdClass객체
(
[이름] =>qttc
[URL] =>www.jb51.net
)
PHP는 리터럴이나 익명 함수를 지원하지 않으므로 위에서 정의한 메서드를 사용하여 객체를 정의할 때 객체에 함수를 추가할 수 없습니다.
$a = '{ "name" : "qttc", "url" : "www.jb51.net" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);
실행 결과:
[root@lee www]# php a.php
stdClass객체
(
[이름] =>qttc
[URL] =>www.jb51.net
[arr] => 배열
(
>
[1] = & gt; 리시
)
)