Укажите детям с таким же именем в запросе в PHP - PullRequest
0 голосов
/ 20 июля 2011

Мне нужно построить запрос, подобный этому:

<rooms>
<room>12345</room>
<room>65679</room>
</rooms>

Тем не менее, я вставляю одну комнату, как:

$request->therequest->rooms['room'] = 123456;

Но когда я делаю это снова для второго, он перезаписывает первый. Как я могу указать 2 детские комнаты под "комнаты", не перезаписывая их?

Спасибо! Это работает с некоторыми вещами SoapClient.

Ответы [ 3 ]

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

Вы должны рассмотреть возможность использования SimpleXMLElement.Тогда вы просто сделаете это:

$templateXML = "<rooms></rooms>";
$xmlElement = new SimpleXMLElement($templateXML);
$xmlElement->addChild("room", 12345);
$xmlElement->addChild("room", 65679);

print $xmlElement->asXML();

И результат будет:

<?xml version="1.0"?>
<rooms>
    <room>12345</room>
    <room>65679</room>
</rooms>

Подробнее о SimpleXMLElement здесь .А вот еще немного информации о методе addChild .

1 голос
/ 20 июля 2011

А как же $request->therequest->rooms['room'][0]?

1 голос
/ 20 июля 2011

Вам нужно создать массив комнат.Вы можете добавить его в массив как:

$request->therequest->rooms['room'][] = 123456;
...