2015-02-26 3 views
0

после множества бесконечных ночей Я могу подключиться к внешнему серверу SOAP с моим клиентом, почтовый я должен послать туда некоторый массив. Как я могу построить этот массив, чтобы сделать что-то вроде этого?Как добавить тот же объект к массиву мыла php

<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); 

Любые идеи, пожалуйста, как создать этот массив?

+0

Оберните 'массив (...)' в другой массив. –

ответ

0

перезаписывается 'Informace' ключ на каждой итерации foreach, вместо того, чтобы инициализировать его как массив и добавить к нему:

$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) . "]]>" 
    ); 
} 
Смежные вопросы