Допустим, я хочу, чтобы у Места был список телефонных номеров.
В некоторых местах будет 1 номер телефона, а в некоторых - более одного. У других его вообще не будет.
Проблема в том, что это:
$xml->addChild('phone_number','555.555.5555');
создает не повторяемый текстовый узел phone_number:
$response->xml->phone_number;
Но это:
$xml->addChild('phone_number','555.555.5555');
$xml->addChild('phone_number','555.555.5556');
создает итеративный массив phone_number:
$response->xml->phone_number[0];
$response->xml->phone_number[1];
Это накладывает ненужное бремя на клиента. Они должны определить, является ли результат повторяющимся или нет, и соответствующим образом изменить свой код.
Было бы НАМНОГО лучше, если бы я всегда мог отправить обратно целочисленный массив, даже если бы в нем было 0 или 1 элемент ... но я не смог найти никакой документации о том, как это сделать. Я считаю, что в Perl он называется «forcearray», но я не нашел эквивалента для PHP, который мне нужен.