>  기사  >  백엔드 개발  >  PHP는 어떻게 json 배열을 수신하고 배열을 변환합니까?

PHP는 어떻게 json 배열을 수신하고 배열을 변환합니까?

PHPz
PHPz원래의
2023-04-18 16:00:19976검색

웹 애플리케이션을 개발할 때 데이터를 전송하고 수신하기 위해 JSON 데이터 형식을 사용해야 하는 경우가 많습니다. PHP 개발자로서 우리는 처리를 위해 프런트 엔드에서 전달된 JSON 데이터를 PHP 배열로 변환해야 하는 경우가 많습니다. 이번 포스팅에서는 PHP를 사용하여 수신된 JSON 배열을 PHP 배열로 변환하는 방법을 알려드리겠습니다.

  1. JSON 데이터 수신

JSON 데이터를 PHP 배열로 변환하려면 먼저 JSON 데이터를 수신해야 합니다. PHP에서는 $_POST 또는 $_GET 배열을 사용하여 JSON 데이터를 받을 수 있습니다.

예를 들어 프런트엔드가 POST 요청을 통해 다음 JSON 데이터를 보내는 경우:

{
    "name": "张三",
    "age": 25,
    "address": "北京市朝阳区"
}

그런 다음 PHP에서 다음 코드를 사용하여 JSON 데이터를 수신하고 이를 $json 변수에 저장할 수 있습니다.

$json = $_POST['json']; // 假设json参数是前端发送的JSON数据
  1. Convert JSON 데이터를 PHP 배열로

JSON 데이터를 받은 후 이를 PHP 배열로 변환해야 합니다. PHP는 이를 위해 내장 함수 json_decode()를 제공합니다. 이 함수의 구문은 다음과 같습니다.

mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)

여기서 $json은 디코딩할 JSON 데이터이고, $assoc는 JSON 개체를 연관 배열로 변환할지 여부를 나타내는 데 사용되는 선택적 부울 값입니다(기본값은 false입니다. , JSON 객체를 표준 객체로 변환), $length는 디코더 재귀 구조의 최대 깊이를 지정하는 데 사용되는 선택적 정수(기본값은 512), $options는 디코더 동작에 대한 다양한 옵션을 지정하는 데 사용되는 선택적 정수입니다( 기본값은 0)입니다.

다음 코드를 사용하여 수신된 JSON 데이터를 PHP 배열로 변환할 수 있습니다.

$data = json_decode($json, true); // 将JSON数据转换为关联数组

$assoc 매개변수를 true로 설정하지 않으면 json_decode() 함수는 배열 대신 표준 개체를 반환합니다. 따라서 이 함수를 호출할 때 이 매개변수를 true로 설정하는 것을 잊지 마세요.

  1. PHP 배열 처리

JSON 데이터가 PHP 배열로 성공적으로 변환되면 이에 대해 모든 작업을 수행할 수 있습니다. 예를 들어, 일부 배열 요소의 값을 출력할 수 있습니다:

echo $data['name'];     // 将输出"张三"
echo $data['age'];      // 将输出25
echo $data['address'];  // 将输出"北京市朝阳区"

또는 배열에 대해 루프를 수행할 수 있습니다:

foreach ($data as $key => $value) {
    echo $key . ': ' . $value . '<br />';
}

어쨌든 JSON 데이터가 PHP 배열로 변환되면 다음과 같이 처리할 수 있습니다. 다른 모든 PHP 배열이 작동됩니다.

요약하자면 이 문서에서는 수신된 JSON 배열을 PHP 배열로 변환하는 방법을 자세히 설명합니다. 이 기술을 사용하는 방법은 개발 중인 애플리케이션의 특정 요구 사항에 따라 달라집니다. 하지만 이 튜토리얼에서는 개발자가 필요에 따라 사용할 수 있도록 필요한 기본 지식을 제공합니다.

위 내용은 PHP는 어떻게 json 배열을 수신하고 배열을 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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