Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将相同的实体添加到soap数组php_Php_Soap - Fatal编程技术网

如何将相同的实体添加到soap数组php

如何将相同的实体添加到soap数组php,php,soap,Php,Soap,经过无数个无休止的夜晚,我可以用我的客户机连接到外部SOAP服务器,我需要向那里发送一些数组。 我如何构造数组来生成这样的东西 <ns0:InformaceBloky> <ns0:Informace> <ns0:Typ>NA010001</ns0:Typ> <ns0:Poradi>1</ns0:Poradi> <ns0:Popis>Popis_1</n

经过无数个无休止的夜晚,我可以用我的客户机连接到外部SOAP服务器,我需要向那里发送一些数组。 我如何构造数组来生成这样的东西

<ns0:InformaceBloky>
    <ns0:Informace>
        <ns0:Typ>NA010001</ns0:Typ>
        <ns0:Poradi>1</ns0:Poradi>
        <ns0:Popis>Popis_1</ns0:Popis>
    </ns0:Informace>
    <ns0:Informace>
        <ns0:Typ>NA010002</ns0:Typ>
        <ns0:Poradi>2</ns0:Poradi>
        <ns0:Popis>Popis_2</ns0:Popis>
    </ns0:Informace>
    <ns0:Informace>
        <ns0:Typ>NA010003</ns0:Typ>
        <ns0:Poradi>3</ns0:Poradi>
        <ns0:Popis>Popis_3</ns0:Popis>
    </ns0:Informace>
</ns0:InformaceBloky>
PHP脚本的一部分:

    foreach ($zsBody as $zsBody_item_k => $zsBody_item_v) {
        $informaceBlok[$zsBody_item_k]['Informace'] = array(
            'Typ' => "NA01000$zsBody_item_k",
            'Poradi' => $zsBody_item_k,
            'Popis' => "<![CDATA[" . json_encode($zsBody_item_v) . "]]>"
        );
    }

    $data_aerg = array('InformaceBloky' => $informaceBlok);
有什么想法吗,请告诉我,如何创建该数组?

您在foreach的每次迭代中都会覆盖“Informace”键,而不是将其初始化为数组并附加到其中:

$informaceBlok[$zsBody_item_k]['Informace'] = array(); // initialize
foreach ($zsBody as $zsBody_item_k => $zsBody_item_v) {
    $informaceBlok[$zsBody_item_k]['Informace'][] = array( // append using []
        'Typ' => "NA01000$zsBody_item_k",
        'Poradi' => $zsBody_item_k,
        'Popis' => "<![CDATA[" . json_encode($zsBody_item_v) . "]]>"
    );
}
包装数组。。。在另一个数组中。