Php 什么是API映射?

Php 什么是API映射?,php,mysql,api,Php,Mysql,Api,我想从Overstock.comSOFS API中获取我们的库存和订单详细信息,并将其添加到基于PHP和MySQL的web应用程序中。但是他们的集成分析师总是问我你完成映射了吗 我在API集成方面没有太多的经验 到目前为止,我拥有Amazon MWS API的访问凭证,可以 轻松地从他们的系统向我们的PHP发出请求和响应 应用程序 但是对于Overstock.com我很困惑API映射的确切含义是什么 有人请给我一点提示让我继续。仅举一个简单映射方案的示例 正如我所说,这是我听到映射时的想法,它们

我想从Overstock.comSOFS API中获取我们的库存和订单详细信息,并将其添加到基于PHP和MySQL的web应用程序中。但是他们的集成分析师总是问我你完成映射了吗

我在API集成方面没有太多的经验 到目前为止,我拥有Amazon MWS API的访问凭证,可以 轻松地从他们的系统向我们的PHP发出请求和响应 应用程序

但是对于Overstock.com我很困惑API映射的确切含义是什么


有人请给我一点提示让我继续。

仅举一个简单映射方案的示例

正如我所说,这是我听到映射时的想法,它们可能意味着不同的东西

$data = [
    'fname' => 'John', 
    'lname' => 'Doe',
];

$map = [
    'lname' => 'last',
    'fname' => 'first'
];

//create a blank array in the order of your mapping
$blank = array_fill_keys(array_keys($map), '');

//order their array to match the blank array, which matches the mapping
$ordered = array_replace($blank, $data);

//merge your keys with the array ordered to match the mapping order
$output = array_combine($map, $ordered);
产出:

Array
(
    [last] => Doe
    [first] => John
)
你可以看到

请注意,我还特意更改了数组的顺序,以表明顺序无关紧要。这还具有填充任何缺失数据的好处。这方面的一个例子是(使用上面相同的代码):

输出(用引号表示空字符串):

这是一种非常简单、直接的方法,很容易在以后添加新字段。所以我只想和你们分享,这确实是他们的意思


我要补充的唯一一件事是,不要害怕问它们的映射是什么意思。有些术语因地而异。他们能说的最糟糕的是什么,你是个白痴(讽刺,我不是说你只是说他们不太可能这么说)。。。英雄联盟不,他们可能会说您需要将他们的字段映射到您的web应用程序字段。让您使用他们的API通常符合他们的利益,或者使用API有什么意义。因此,他们倾向于帮助您作为他们服务的消费者。

通常,映射将把他们提供给您的字段转换为您需要的字段,比如您将名称存储为
fname
lname
但是它们给你
first
last
,所以你可以将
first
映射到
fname
last
lname
,它们可能意味着其他的东西,但这就是我通常所说的映射。通常我使用这样的数组
['fname'=>'first','lname'=>'last']
然后使用
array\u key\u intersect
和类似
array\u merge
的方法,您可以将它们提供给您的数据转换为您需要的数据。感谢@artisticfenix在这种情况下,无论API的响应如何,我都可以在我们自己的数据库结构中处理它。那么,我应该告诉他我映射了,还是我必须让我的代码在集成过程中随时准备好进行调用?
$data = [
    'fname' => 'John', 
    'lname' => 'Doe',
    //middle name data is missing
];

$map = [
    'lname' => 'last',
    'fname' => 'first',
    'mname' => 'middle'
];
Array
(
    [last] => Doe
    [first] => John
    [middle] => ''
)