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

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

PHPz
풀어 주다: 2023-04-26 09:29:59
원래의
543명이 탐색했습니다.

PHP에서는 데이터를 전달하기 위해 JSON(JavaScript Object Notation)을 자주 사용합니다. JSON은 읽고, 쓰고, 구문 분석하기 쉬운 경량 데이터 형식이며, 서로 다른 언어 간의 데이터 교환에 적합합니다. 때때로 JSON 객체를 배열로 변환해야 하는 상황이 발생합니다. 이 기사에서는 PHP에서 이 기능을 구현하는 방법을 소개합니다.

먼저 JSON의 구조를 살펴보겠습니다. JSON 객체에는 여러 개의 키-값 쌍이 포함되어 있습니다. 각 키-값 쌍은 필드 이름과 값으로 구성됩니다. 값 쌍은 쉼표로 구분하고 중괄호로 묶습니다. 예:

{
    "name": "Alice",
    "age": 30,
    "height": 1.65
}
로그인 후 복사

PHP에서는 json_decode 함수를 사용하여 JSON 문자열을 PHP 변수로 변환할 수 있습니다. 이 함수의 첫 번째 매개변수는 디코딩할 JSON 문자열이고, 두 번째 매개변수는 반환된 값이 연관 배열인지 일반 배열인지 나타내는 부울 값입니다. 두 번째 매개변수가 true이면 반환된 값은 연관 배열이고, false이거나 생략되면 반환된 값은 개체입니다. json_decode 函数将 JSON 字符串转换成 PHP 变量。这个函数的第一个参数是要解码的 JSON 字符串,第二个参数是一个布尔值,表示返回的值是一个关联数组还是一个普通数组。如果第二个参数为 true,则返回的值是一个关联数组;如果为 false或省略,则返回的是一个对象。

因此,我们可以使用 json_decode 函数将 JSON 字符串转换成 PHP 对象,然后使用强制类型转换将其转换成数组。例如:

$json = '{"name": "Alice", "age": 30, "height": 1.65}';
$obj = json_decode($json);  // 将 JSON 对象转换成 PHP 对象
$arr = (array) $obj;        // 将 PHP 对象转换成数组
print_r($arr);
로그인 후 복사

运行结果为:

Array
(
    [name] => Alice
    [age] => 30
    [height] => 1.65
)
로그인 후 복사
로그인 후 복사

以上代码将 JSON 对象转换成了一个包含三个元素的数组,每个元素的键名对应 JSON 对象中的字段名,键值对应字段的值。

当然,如果我们直接使用 json_decode 函数的第二个参数将其转换成关联数组,将会更加简单。例如:

$json = '{"name": "Alice", "age": 30, "height": 1.65}';
$arr = json_decode($json, true);  // 将 JSON 对象转换成关联数组
print_r($arr);
로그인 후 복사

运行结果为:

Array
(
    [name] => Alice
    [age] => 30
    [height] => 1.65
)
로그인 후 복사
로그인 후 복사

以上代码同样将 JSON 对象转换成了一个包含三个元素的数组,每个元素的键名对应 JSON 对象中的字段名,键值对应字段的值。唯一的区别在于,这个数组是一个关联数组,其每个元素的键名与 JSON 对象中的字段名完全一致。

总结一下,将 JSON 对象转换成数组的方法有两种:

  • 首先使用 json_decode 函数将 JSON 对象转换成 PHP 对象,然后使用强制类型转换将其转换成数组。
  • 直接使用 json_decode
  • 그래서 json_decode 함수를 사용하여 JSON 문자열을 PHP 객체로 변환한 다음 Cast를 사용하여 배열로 변환할 수 있습니다. 예:
rrreee

실행 결과는 다음과 같습니다.

rrreee🎜위 코드는 JSON 개체를 세 가지 요소가 포함된 배열로 변환합니다. 각 요소의 키 이름은 JSON 개체의 필드 이름에 해당하고 키 값은 다음과 같습니다. 필드의 값. 🎜🎜물론, json_decode 함수의 두 번째 매개변수를 직접 사용하여 연관배열로 변환하면 더 간단해집니다. 예: 🎜rrreee🎜실행 결과는 다음과 같습니다. 🎜rrreee🎜위 코드는 JSON 개체를 세 가지 요소가 포함된 배열로 변환합니다. 각 요소의 키 이름은 JSON 개체의 필드 이름에 해당하고 키 값은 해당합니다. 필드의 값에. 유일한 차이점은 이 배열이 연관 배열이고 각 요소의 키 이름이 JSON 개체의 필드 이름과 정확히 동일하다는 것입니다. 🎜🎜요약하자면 JSON 개체를 배열로 변환하는 방법에는 두 가지가 있습니다. 🎜
  • 먼저 json_decode 함수를 사용하여 JSON 개체를 PHP 개체로 변환한 다음 변환하려면 캐스팅하세요. 배열로 변환하세요. 🎜
  • json_decode 함수의 두 번째 매개변수를 직접 사용하여 연관 배열로 변환합니다. 🎜🎜🎜실제 개발에서는 실제 필요에 따라 적절한 방법을 선택할 수 있습니다. JSON 개체에 중첩된 JSON 개체 또는 배열이 포함된 경우 배열로 변환할 때 재귀 처리가 필요할 수 있다는 점에 유의해야 합니다. 🎜

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

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