ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して API 戻りデータにアクセスし、解析する

PHP を使用して API 戻りデータにアクセスし、解析する

WBOY
WBOYオリジナル
2023-06-13 08:27:171527ブラウズ

インターネットの発展と普及に伴い、さまざまなアプリケーションでのデータ需要が増大しています。より多くのデータを取得するために、サードパーティ API (アプリケーション プログラミング インターフェイス) の使用が増えています。 API は、アプリケーションのバックエンド データにアクセスするために使用できる、アプリケーションによって提供されるいくつかの命令またはインターフェイスを指します。この記事では、PHP を使用して API の戻りデータにアクセスして解析する方法を説明します。

  1. API とは

API は略語で、正式名称は Application Programming Interface で、翻訳するとアプリケーション プログラミング インターフェースとなります。通常、他のソフトウェアまたはサービスがそのバックエンド データまたは機能にアクセスできるようにする、ソフトウェアまたはサービスのいくつかのインターフェイスを指します。 API は開発者向けであり、通常は HTTP (ハイパーテキスト転送プロトコル) プロトコルを通じて通信します。

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 (REpresentational State Transfer、Representational state transfer)、この 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;
?>

この例では、curl_init 関数を使用して cURL セッションを初期化します。そして、curl_setopt 関数を使用して cURL オプションを設定します。 CURLOPT_URL オプションを設定してリクエストされた URL を指定し、CURLOPT_RETURNTRANSFER オプションを設定してリクエスト結果を文字列として返すように cURL 関数に指示します。最後に、curl_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 関数を使用して配列をページに出力します。 2 番目のパラメーター 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 関数を使用して、オブジェクトをページに出力します。

  1. 概要

PHP を使用して API の戻りデータにアクセスし、解析することは、非常に一般的な要件です。多くの場合、リモート サーバーからデータを取得し、それを使用してローカル アプリケーションを更新する必要があります。この記事では、PHP を使用して API にアクセスし、返されたデータを解析する方法について説明します。データを取得する 2 つの方法 (file_get_contents 関数と cURL 関数) を紹介し、データ形式を解析する 2 つの方法 (JSON 形式と XML 形式) を紹介しました。これらのメソッドは実際の開発において非常に役立ち、これらを使用してさまざまなオープン API にアクセスし、より多くのデータやリソースを取得できます。

以上がPHP を使用して API 戻りデータにアクセスし、解析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。