PHP数组有两个相同的密钥(SOAP)

时间:2015-03-27 15:11:05

标签: php soap

我正在尝试与DHL API(SOAP)进行通信。我可以制作一个新包裹,但是当我使用额外服务发货时,我必须使用两个(或更多)ITEM键构建查询,如:

<specialServices>
    <item>
        <serviceType>UBEZP</serviceType>
        <serviceValue>10000</serviceValue>
    </item>
    <item>
        <serviceType>COD</serviceType>
        <serviceValue>2000</serviceValue>
    </item>
</specialServices>

我试过这样,但DHL系统不起作用:

'specialServices' => array(
    'collectOnDeliveryForm' => 'BANK_TRANSFER',
    'item' => array(
        array(
            'serviceType' => 'UBEZP',
            'serviceValue' => '10000'
        ),
        array(
            'serviceType' => 'COD',
            'serviceValue' => '1000'
        )
    )
)

并且像这样,但是PHP只能使用一个具有相同名称的键,所以第二个键重写了第一个键:

'specialServices' => array(
    'collectOnDeliveryForm' => 'BANK_TRANSFER',
    'item' => array(
        'serviceType' => 'UBEZP',
        'serviceValue' => '10000'
    ),
    'item' => array(
        'serviceType' => 'COD',
        'serviceValue' => '5000'
    )
)

1 个答案:

答案 0 :(得分:0)

名称为“item”的内部数组必须是带数组的索引数组。

检查此答案PHP array with two this same key (SOAP)