> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 API 반환 데이터에 액세스하고 구문 분석

PHP를 사용하여 API 반환 데이터에 액세스하고 구문 분석

WBOY
풀어 주다: 2023-06-13 08:28:02
원래의
1500명이 탐색했습니다.

인터넷의 발전과 대중화로 인해 다양한 애플리케이션에서 데이터에 대한 수요가 증가하고 있습니다. 더 많은 데이터를 얻기 위해 타사 API(애플리케이션 프로그래밍 인터페이스)가 점점 더 많이 사용되고 있습니다. API는 애플리케이션의 백엔드 데이터에 액세스하는 데 사용할 수 있는 애플리케이션에서 제공하는 일부 지침이나 인터페이스를 나타냅니다. 이 기사에서는 PHP를 사용하여 API의 반환 데이터에 액세스하고 구문 분석하는 방법을 설명합니다.

  1. API란 무엇입니까

API는 약어이며, 전체 이름은 애플리케이션 프로그래밍 인터페이스(Application Programing Interface)로, 이는 애플리케이션 프로그래밍 인터페이스로 번역됩니다. 이는 일반적으로 다른 소프트웨어나 서비스가 백엔드 데이터나 기능에 액세스할 수 있도록 하는 소프트웨어나 서비스의 일부 인터페이스를 나타냅니다. API는 개발자를 위한 것이며 일반적으로 HTTP(Hypertext Transfer Protocol) 프로토콜을 통해 통신합니다.

API를 사용하면 공개 데이터를 얻고, 서비스를 쿼리하고, 리소스를 얻는 등의 작업에 도움이 될 수 있습니다. 예를 들어, 날씨 API를 사용하여 특정 지역의 날씨 데이터(온도, 풍속, 강수량 등)에 액세스할 수 있습니다. 뉴스 API를 사용하여 해당 항목의 제목, 내용, 작성자, 출시 시간 등을 얻을 수 있습니다. 소식.

  1. PHP를 통한 API 액세스

다음으로 PHP를 사용하여 API에 액세스하는 방법을 소개하겠습니다. 먼저 데이터를 얻기 위한 몇 가지 일반적인 방법인 GET, POST, PUT, DELETE를 알아야 합니다. 여기서는 GET 메소드만 소개합니다.

2.1 file_get_contents 함수 사용

PHP는 원격 서버에서 데이터를 얻는 데 사용할 수 있는 file_get_contents 함수를 제공합니다. 이 함수를 사용하여 API에 액세스하고 반환된 데이터를 얻을 수 있습니다.

예를 들어 JSON 형식 API에 액세스할 수 있으며 코드는 다음과 같습니다.

<?php
$url = 'https://jsonplaceholder.typicode.com/users/1';
$data = file_get_contents($url);
echo $data;
?>
로그인 후 복사

이 예에서는 file_get_contents 함수를 사용하여 RESTful API(표현 상태 전송, 표현 상태 전송)에 액세스합니다. 이 API는 다음을 반환할 수 있습니다. 사용자 정보, ID 1의 사용자 정보를 요청합니다. 획득한 데이터는 JSON 형식의 문자열이며, echo 함수를 사용하여 페이지에 출력합니다.

2.2 cURL 함수 사용

file_get_contents 함수 외에도 cURL 함수를 사용하여 데이터를 가져올 수도 있습니다. cURL은 파일과 데이터를 전송하는 데 사용되는 도구로, HTTP, FTP, SFTP 등 다양한 프로토콜을 통해 데이터를 전송할 수 있습니다.

예를 들어, cURL 함수를 사용하여 JSON 형식 API에 액세스할 수 있으며 코드는 다음과 같습니다.

<?php
$url = 'https://jsonplaceholder.typicode.com/users/1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>
로그인 후 복사

이 예에서는 컬_init 함수를 사용하여 cURL 세션을 초기화하고, 컬_setopt 함수를 사용하여 cURL을 설정합니다. 옵션. CURLOPT_URL 옵션을 설정하여 요청된 URL을 지정하고, CURLOPT_RETURNTRANSFER 옵션을 설정하여 cURL 함수에 요청 결과를 문자열로 반환하도록 지시합니다. 마지막으로 cur_exec 함수를 사용하여 세션을 실행하고, curl_close 함수를 사용하여 세션을 닫습니다. 얻은 데이터는 이전 예와 동일합니다.

  1. 반환된 데이터 구문 분석

우리가 얻는 데이터는 일반적으로 문자열이며 올바른 데이터를 얻으려면 PHP의 객체 또는 배열로 구문 분석해야 합니다. 일반적으로 우리가 얻는 데이터는 다음 형식을 갖습니다.

3.1 JSON 형식

JSON(JavaScript Object Notation)은 여러 프로그래밍 언어에서 지원할 수 있는 경량 데이터 교환 형식입니다. 키-값 쌍을 사용하여 배열, 객체, 문자열, 숫자 등을 포함한 데이터를 나타냅니다.

PHP에서 제공하는 json_decode 함수를 사용하여 JSON 형식 문자열을 PHP의 객체 또는 배열로 구문 분석할 수 있습니다. 예를 들어, 다음 코드를 사용하여 JSON 형식 문자열을 PHP 배열로 구문 분석할 수 있습니다.

<?php
$data = '[{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]';
$arr = json_decode($data, true);
print_r($arr);
?>
로그인 후 복사

이 예에서는 json_decode 함수를 사용하여 JSON 형식 문자열을 PHP 배열로 구문 분석하고 print_r 함수를 사용합니다. to 배열이 페이지에 출력됩니다. 두 번째 매개변수 true는 객체가 아닌 배열이 반환됨을 의미합니다. 이 매개변수를 설정하지 않으면 기본적으로 객체가 반환됩니다.

3.2 XML 형식

XML(Extensible Markup Language)은 문서와 데이터를 표현하는 데 사용할 수 있는 마크업 언어입니다. 마크업을 사용하여 데이터의 구조와 의미를 설명합니다.

PHP에서 제공하는 SimpleXML 확장을 사용하여 XML 형식 문자열을 구문 분석할 수 있습니다. 예를 들어, 다음 코드를 사용하여 XML 형식의 문자열을 PHP 개체로 구문 분석할 수 있습니다.

<?php
$data = '<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <id>1</id>
        <name>Alice</name>
    </user>
    <user>
        <id>2</id>
        <name>Bob</name>
    </user>
</users>';
$xml = simplexml_load_string($data);
print_r($xml);
?>
로그인 후 복사

이 예에서는 simplexml_load_string 함수를 사용하여 XML 형식의 문자열을 PHP 개체로 구문 분석하고 print_r 함수를 사용합니다. to 개체가 페이지에 출력됩니다.

  1. 요약

PHP를 사용하여 API 반환 데이터에 액세스하고 구문 분석하는 것은 매우 일반적인 요구 사항입니다. 원격 서버에서 데이터를 가져와서 로컬 애플리케이션을 업데이트하는 데 사용해야 하는 경우가 많습니다. 이 문서에서는 PHP를 사용하여 API에 액세스하고 반환된 데이터를 구문 분석하는 방법을 설명합니다. 데이터를 얻는 두 가지 방법인 file_get_contents 함수와 cURL 함수를 소개했고, 데이터 형식을 구문 분석하는 두 가지 방법인 JSON 형식과 XML 형식을 소개했습니다. 이러한 방법은 실제 개발에 매우 ​​유용하며 이를 통해 다양한 개방형 API에 접근하여 더 많은 데이터와 리소스를 얻을 수 있습니다.

위 내용은 PHP를 사용하여 API 반환 데이터에 액세스하고 구문 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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