Codeigniter XML-RPC Ответ многомерного массива подход

Мне нужно создать сервер XML-RPC, который получает города с соответствующими идентификаторами. То, что я делаю в качестве ответа, кажется мне странным из-за ненужных повторяющихся записей, но я не мог найти лучший путь.

 Array
(
[cityID] => Array
(
[0] => 34
[1] => 35
[2] => 06
)

[cityName] => Array
(
[0] => Istanbul
[1] => Izmir
[2] => Ankara
)

)

Я реализовал выше ответ. С этой реализацией:

$response = array(
array(

'cityID' => array(array('34', '35', '06'), 'array'),
'cityName' => array(array('Istanbul', 'Izmir', 'Ankara'), 'array')
),

'struct'
);

Проблема в том, что я хочу получить такой ответ:

Array
(
[cities] => Array
(
['34'] => 'Istanbul'
['35'] => 'Izmir'
['06'] => 'Ankara'
)
)

Поэтому я попытался реализовать это так:

$response = array(
array(

'cities' => array(array('34'=>'Istanbul', '35'=>'Izmir', '06'=>'Ankara'), 'array')
),

'struct'
);

Но это терпит неудачу с этой реализацией. Что я делаю неправильно ?

Спасибо

0

Решение

У вас есть массив, как следующий

$response =  array ( 'cityID' => array (
0 => 34,
1 => 35,
2 => 06
),

'cityName' => array(
0 => 'Istanbul',
1 => 'Izmir',
2 => 'Ankara'
)
);

$newarray = array();

foreach($response['cityID'] as $key => $cityid){
$newarray['cities'][$cityid] = $response['cityName'][$key];
}

print_r($newarray);

Вы получите ожидаемый массив.

Array
(
[cities] => Array
(
[34] => Istanbul
[35] => Izmir
[6] => Ankara
)
)
0

Другие решения

Вот как я это делаю, в Code Igniter 3

$array =  array ( 'cityID' => array (
0 => 34,
1 => 35,
2 => 06
),

'cityName' => array(
0 => 'Istanbul',
1 => 'Izmir',
2 => 'Ankara'
)
);

foreach($array['cityID'] as $key => $cityid){
$response[] = array(array(
$cityid => array($array['cityName'][$key],'string'),
),'struct');
}

return $this->xmlrpc->send_response(array($response,'array'));
0

По вопросам рекламы [email protected]