Heim > Artikel > Backend-Entwicklung > Verwenden Sie die mehrdimensionale PHP-Array-Reorganisationsmethode, die mit der API-Schnittstelle kompatibel ist
Bei der normalen PHP-Entwicklung rufen wir normalerweise APIs von Drittanbietern auf, um unsere Geschäftsanforderungen zu erfüllen. Wir werden jedoch auf Situationen stoßen, in denen das Rückgabedatenformat nicht einheitlich ist, insbesondere wenn die von der API-Schnittstelle von Drittanbietern zurückgegebenen Daten mit kompatibel sind Unsere API-Schnittstelle. Zu diesem Zeitpunkt müssen wir die PHP-Methode zur mehrdimensionalen Array-Reorganisation verwenden.
1. Fordern Sie das von der Drittanbieter-API-Schnittstelle zurückgegebene Format an
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) "无" } }
Die Drittanbieter-API-Schnittstelle gibt im Allgemeinen eine Zeichenfolge im Array-Format zurück kann Arrays verwenden, um es zu verarbeiten und in das gewünschte Format zu verarbeiten.
2. Schreiben Sie eine Verarbeitungsmethode in die Klasse, rufen Sie diese Methode einfach auf und die zurückgegebenen Daten sind das, was wir wollen .
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. Von getRecordInfo zurückgegebene Daten
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. Ideenkarte:
Definieren Sie getRecordInfo(), das die Drittanbieter-Schnittstelle verwaltet =》Fordern Sie die Drittanbieter-API in getRecordInfo() an=》Geben Sie die von der Drittanbieter-API zurückgegebenen Daten an das Ergebnis weiter=》Formatieren Sie die Ergebnisdaten.
Ich hoffe, dieser Artikel kann allen helfen. Bitte weisen Sie auf etwaige Fehler im Artikel hin. Danke!
Weitere PHP-bezogene Probleme finden Sie auf der chinesischen PHP-Website: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonVerwenden Sie die mehrdimensionale PHP-Array-Reorganisationsmethode, die mit der API-Schnittstelle kompatibel ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!