Многомерные массивы в php - с двумя массивами с одинаковыми именами? - PullRequest
0 голосов
/ 11 июля 2011

По сути, создание клиента SOAP, и часть необходимого ввода отформатирована следующим образом:

<Attributes>
    <Attribute>
         <AttributeType>HomeType</AttributeType>
         <Value>duplex</Value>
    </Attribute>
    <Attribute>
        <AttributeType>Bedrooms</AttributeType>
        <Value>2</Value>
    </Attribute>
    <Attribute>
        <AttributeType>Bathrooms</AttributeType>
        <Value>2</Value>
    </Attribute>
</Attributes>

Это размещено через массив:

$homeType = array (

'AttributeType' => 'HomeType',
'Value' => $_POST['hometype']
);
$bedrooms = array (
'AttributeType' => 'Bedrooms',
'Value' => $_POST['bedrooms']
);
$bathrooms = array(
'AttributeType' => 'Bathrooms',
'Value' => $_POST['bathrooms']
);
$attributes = array (
'Attribute' => $homeType,
'Attribute' => $bedrooms,
'Attribute' => $bathrooms
);

И, как вы можете себе представить, все возвращаемые массивы - это последний атрибут, поэтому xml выглядит так:

<Attributes>
    <Attribute>
        <AttributeType>Bathrooms</AttributeType>
        <Value>2</Value>
    </Attribute>
</Attributes>

Я не могу придумать никакого практического способа обойти это, поскольку Атрибуты могут насчитывать до 30-50, поэтому я не хочу численно их кодировать, тем более что массив называется только:

'Attributes' => $attributes,

Любая помощь будет высоко ценится!

1 Ответ

2 голосов
/ 11 июля 2011

Разве вы не должны просто использовать массив? $ attribute = array ( 'Attribute' => array ($ homeType, $ спальни, $ ванные комнаты) );

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...