通常の PHP 開発では、ビジネス ニーズを満たすためにサードパーティ API を呼び出しますが、特にサードパーティ API インターフェイスから返されるデータに互換性がある場合、返されるデータ形式が均一でない状況に遭遇することがあります。 API インターフェース。この時点では、PHP 多次元配列再編成メソッドを使用する必要があります。
1. サードパーティ API インターフェイスによって返される形式をリクエストします
array(1) { [0] => array(20) { 'url' => string(147) "http:/*************************************************/*****" 'filemtime' => int(1525688855) 'app' => string(11) "smarket_dev" 'stream' => string(23) "stream20180507102518_67" 'start' => int(1525688855) 'end' => int(1525689358) 'm3u8' => string(147) "http://*******************************/**************************/" 'duration' => int(503) 'thumbnail' => string(100) "https://cdn-************************/********************" 'size' => int(9259195) 'width' => int(640) 'height' => int(360) 'begin' => int(0) 'uptime' => int(1525689364) 'update' => int(1525689364) 'id' => string(24) "5af02c1415d5239acc6ee28e" 'title' => string(9) "未定义" 'desc' => string(9) "未定义" 'case' => string(1) "0" 'caseName' => string(3) "无" } }
サードパーティ API インターフェイスは通常、配列形式の文字列を返します。配列を使用して処理し、必要な形式に処理できます。
2. クラスに処理メソッドを記述し、このメソッドを呼び出すだけで、必要なデータが返されます。
function getRecordInfo($webcastId) { $app = 'webinar'; $stream = $webcastId; $_access_id = '***********'; $_access_key = '*************'; $_openApiUrl = 'http://*************/*******/'; $service = new \webinar\_services\webCast\Impl\AodianyunApi($_access_id, $_access_key, $_openApiUrl); $result = $service->vodGetInfo($app, $stream); foreach ($result as $value) { $results[] = [ 'createdTime' => $value['filemtime'], 'id' => $value['stream'], 'recordStartTime' => $value['start'], 'recordEndTime' => $value['end'], 'size' => $value['size'], 'subject' => $value['title'], 'url' => $value['url'] ]; } return $results; }
3. getRecordInfo によって返されるデータ
array(100) { [0] => array(7) { 'createdTime' => int(1527072944) 'id' => string(6) "stream" 'recordStartTime' => int(1527072944) 'recordEndTime' => int(1527073551) 'size' => int(131098618) 'subject' => string(9) "未定义" 'url' => string(105) "https://cdn-************************/********************" } [1] => array(7) { 'createdTime' => int(1526029294) 'id' => string(6) "stream" 'recordStartTime' => int(1526029294) 'recordEndTime' => int(1526029826) 'size' => int(114636073) 'subject' => string(9) "未定义" 'url' => string(105) "https://cdn-************************/********************" }
4. アイデア マップ:
サードパーティインターフェースを処理する getRecordInfo() を定義 =》getRecordInfo() でサードパーティ API をリクエスト =》サードパーティ API から返されたデータを result に渡す =》結果データをフォーマットします。
この記事が皆様のお役に立てれば幸いです。記事内に間違いがございましたら、ご指摘ください。ありがとう!
PHP 関連の問題の詳細については、PHP 中国語 Web サイトを参照してください: PHP ビデオ チュートリアル
以上がAPIインターフェースと互換性のあるPHP多次元配列再構成メソッドを使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。