使用多个相同的键将数据插入数组

时间:2018-12-19 13:40:25

标签: php arrays loops soap foreach

我正在使用一个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>

1 个答案:

答案 0 :(得分:0)

如果您知道您的阵列将仅包含公司ID,那么为什么不这样做呢?

$params = array(
        "APIUser"=>"",
        "APIPassword"=>"",
        "Companies"=>array(
            "Company"=>array('101', '121', '323', '444', 551') 
        )
    );