我正在使用一个SOAP API,该API使用具有多个相同键的对象数组。这种架构无法轻松更改(建议用逗号分隔值,但不可能,是否可以在此处接受其他想法?)
我很难从数据库中获得一个循环,该循环将多个ID放入下面的此数组中。因为我不相信PHP可能有一个数组,其键名相同。
这是下面的代码,当公司ID被硬编码时,它可以正常工作。
$params = array(
"APIUser"=>"",
"APIPassword"=>"",
"Companies"=>array(
"Company"=>array(
["CompanyID"=>'101'],
["CompanyID"=>'121'],
["CompanyID"=>'323'],
["CompanyID"=>'444'],
["CompanyID"=>'551']
)
)
);
但是我需要获取这些ID(可能有多少个)并将其插入到上面的此数组中。
当键相同时我该怎么做?到目前为止,我通常所做的工作通常只是用循环中的最后一个值重写单个CompanyID密钥。
预先感谢, 尼克。
编辑: 这是一个SOAP请求:
<api:Companies>
<api:Company>
<api:CompanyID>101</api:CompanyID>
</api:Company>
<api:Company>
<api:CompanyID>121</api:CompanyID>
</api:Company>
<api:Company>
<api:CompanyID>323</api:CompanyID>
</api:Company>
<api:Company>
<api:CompanyID>444</api:CompanyID>
</api:Company>
<api:Company>
<api:CompanyID>551</api:CompanyID>
</api:Company>
</api:Companies>
答案 0 :(得分:0)
如果您知道您的阵列将仅包含公司ID,那么为什么不这样做呢?
$params = array(
"APIUser"=>"",
"APIPassword"=>"",
"Companies"=>array(
"Company"=>array('101', '121', '323', '444', 551')
)
);