>  기사  >  백엔드 개발  >  PHP 배열 데이터를 json으로 변환하는 방법

PHP 배열 데이터를 json으로 변환하는 방법

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-04-06 15:55:194724검색

PHP에서는 json_encode() 함수를 사용하여 배열 데이터를 json으로 변환할 수 있습니다. json_encode() 함수는 변수를 json으로 인코딩할 수 있으며, 변환이 성공하면 json 데이터를 반환하고, 그렇지 않으면 false를 반환합니다.

PHP 배열 데이터를 json으로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

이제 ajax를 사용하여 배경과 상호 작용해야 할 때, json이 포함된 PHP 배열을 변환합니다. ajax与后台进行交互时,怎样将php的数组与json进行转换。

强大的PHP已经提供了内置函数:json_encode()json_decode()。很容易理解,json_encode()就是将PHP数组转换成Json。相反,json_decode()就是将Json转换成PHP数组。

Json的具体形式是:

1.对象

对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔。

2、数组

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

注意:对象和数组两种形式在JS中的调用时不一样啊,对象用“.”调用,数组用下标[0]、[1]调用。还要注意在传递Json串时string

강력한 PHP는 이미 내장 함수인 json_encode()json_decode()를 제공합니다. json_encode()가 PHP 배열을 Json으로 변환한다는 것은 이해하기 쉽습니다. 반대로 json_decode()는 Json을 PHP 배열로 변환합니다.

Json의 구체적인 형식은 다음과 같습니다.

1. 객체

객체는 "이름/값 쌍"의 순서가 지정되지 않은 모음입니다. 객체는 "{"(왼쪽 대괄호)로 시작하고 "}"(오른쪽 대괄호)로 끝납니다. 각 "이름" 뒤에는 ":"(콜론)이 옵니다. "이름/값" 쌍은 ","(쉼표)로 구분됩니다.

2. 배열


배열은 값()의 순서가 지정된 모음입니다. 배열은 "["(왼쪽 대괄호)로 시작하고 "]"(오른쪽 대괄호)로 끝납니다. 값은 ","(쉼표)로 구분됩니다.

참고: JS에서는 개체와 배열이 다르게 호출됩니다. 개체는 "."으로 호출되고 배열은 아래 첨자 [0] 및 [1]로 호출됩니다. 또한 Json 문자열을 전달할 때 string 유형의 값을 따옴표로 묶어야 합니다.

인스턴스 1:

$array = array("name" => "Eric","age" => 23); 
echo json_encode($array);
🎜프로그램은 다음을 출력합니다: 🎜
{“name”:”Eric”,”age”:23}
🎜🎜인스턴스 2: 🎜🎜
$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);
🎜프로그램은 다음을 출력합니다: 🎜
["Eric",23]
🎜위의 두 예에서 볼 수 있듯이 둘 사이의 호출은 js에서는 다릅니다. PHP 배열의 키는 모두 숫자이며, PHP 배열의 키가 모두 문자열인 경우 json_encode()는 Json을 배열 형식으로 반환합니다. 그러면 json_encode()는 Json을 객체 형태로 반환합니다. 🎜🎜🎜사실 PHP 배열의 키에 문자열 형태의 키가 있는 한 json_encode()는 Json을 객체 형태로 반환합니다. 이것은 잘못된 것입니다. 왜냐하면 PHP 코드에서는 오류가 발생하지 않더라도 그러한 Json을 JS 함수에 전달하면 JS는 Json을 객체로 취급하므로 객체가 숫자를 속성 이름으로 사용할 수 없기 때문입니다. 즉, JS는 이것이 무엇인지 모릅니다: user.0.username (가운데 숫자 0이 있습니다)🎜🎜추천 학습:🎜php 비디오 튜토리얼🎜🎜

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

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