php 重组多维数组,使用PHP多维数组重组方法,兼容API接口

在平时的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=》将result数据进行格式处理。

希望本片文章可以帮助到大家,文中如有错误还望指出。谢谢!

更过PHP相关问题请访问PHP中文网:PHP视频教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值