Преобразовать 2 массива в JSON

solar25

Всем привет, прошу помощи с преобразованием двух массивов вида:
массив $kn
( [0] => 05:40:000000:7744 [1] => 05:40:000004:2044 [2] => 05:40:000014:227 [3] => 05:40:000020:4130 [4] => 05:40:000024:10531 [5] => 05:40:000024:11051 [6] => 05:40:000024:11341 [7] => 05:40:000024:11342 [8] => 05:40:000024:11348 [9] => 05:40:000024:11351)
и массив $address
( [0] => г Махачкала, линия А.Акушинского пр-кт 10-я, д. 362 [1] => Республика Дагестан, г. Махачкала, сдт. Юпитер, уч-к. уч., д. 362 [2] => Республика Дагестан, г Махачкала, с Шамхал-Термен, уч 362, в жилом МКР №2 [3] => Республика Дагестан, г Махачкала, мкр Аэродрома “Досааф”, уч 362 [4] => Россия, Республика Дагестан, г. Махачкала, Кировский район, пос. Семендер, ул.Темирязева, 362 [5] => Россия, Республика Дагестан, г. Махачкала, п. Семендер, ул. им. Тимирязева, 49 [6] => Республика Дагестан, г Махачкала, пгт Семендер, МКР-1, участок №362 [7] => Республика Дагестан, г Махачкала, пгт Семендер, МКР-1, участок №362 [8] => Республика Дагестан, г Махачкала, пгт Семендер, МКР-1, участок №362 [9] => Республика Дагестан, г Махачкала, пгт Семендер, МКР-1, участок №362)

Мне нужен результат в json вида:
{“items”: [{“cadNum”:”05:40:000000:7744″,”address”:” г Махачкала, линия А.Акушинского пр-кт 10-я, д. 36″}, {“cadNum”:”05:40:000004:2044″,”address”:”Республика Дагестан, г Махачкала, с Шамхал-Термен, уч 362, в жилом МКР №2″}…]}

Я делаю например так

PHP:
  1. $result = array_combine($kn,$address);
  2. echo (json_encode($result));

и иначе пытался, но не знаю, как к массивам добавить ключи cadNum и address и получить нужный JSON.

 

ADSoft

Или в цикле собираете новый массив, или с помощью array_map

 

Drunkenmunky

PHP:
  1. $result = array(‘cadNum’ => $kn, ‘address’ => $address);
  2. echo (json_encode($result));
 

solar25

Спасибо. На выходе все равно не то получается: в json сначала номера перечисляются, потом адреса, а надо, чтобы они парами шли…
а получается вот:

Код (Text):
  1. {“cadNum”:[“05:40:000000:7744″,”05:40:000004:2044″,”05:40:000014:227″,”05:40:000020:4130″,”05:40:000024:10531″,”05:40:000024:11051″,”05:40:000024:11341″,”05:40:000024:11342″,”05:40:000024:11348″,”05:40:000024:11351″,”05:40:000024:11359″,”05:40:000024:11370″,”05:40:000024:12618″,”05:40:000024:13566″,”05:40:000024:16023″,”05:40:000024:517″,”05:40:000024:7321″,”05:40:000024:7322″,”05:40:000024:7564″,”05:40:000024:8051″,”05:40:000024:8545″,”05:40:000024:8546″,”05:40:000024:8547″,”05:40:000024:8548″,”05:40:000024:8549″,”05:40:000024:8550″,”05:40:000024:8551″,”05:40:000024:8552″,”05:40:000024:8567″,”05:40:000024:8568″,”05:40:000024:8592″,”05:40:000024:8593″,”05:40:000024:9031″,”05:40:000024:9401″,”05:40:000024:9554″,”05:40:000025:1093″,”05:40:000025:2289″,”05:40:000025:5729″,”05:40:000025:6417″,”05:40:000028:11105″,”05:40:000030:1061″,”05:40:000030:1131″,”05:40:000030:1197″,”05:40:000030:1247″,”05:40:000030:1248″,”05:40:000031:9384″,”05:40:000031:9790″,”05:40:000032:2416″,”05:40:000032:3008″,”05:40:000037:3091″,”05:40:000037:5577″,”05:40:000061:1617″,”05:40:000061:4621″,”05:40:000070:646″,”05:40:000071:531″,”05:40:000074:1501″,”05:40:000074:417″,”05:40:000075:1296″,”05:40:000075:427″,”05:40:000077:2659″,”05:40:000077:412″,”05:40:000077:624″,”05:40:000081:2849″,”05:40:000081:2919″,”05:40:000090:1595″,”05:40:000090:2674″,”05:50:000069:2667″],”address”:[“u0433 u041cu0430u0445u0430u0447u043au0430u043bu0430, u043bu0438u043du0438u044f u0410.u0410u043au0443u0448u0438u043du0441u043au043eu0433u043e u043fu0440-u043au0442 10-u044f, u0434. 362″,”u0420u0435u0441u043fu0443u0431u043bu0438u043au0430 u0414u0430u0433u0435u0441u0442u0430u043d, u0433. u041cu0430u0445u0430u0447u043au0430u043bu0430, u0441u0434u0442. u042eu043fu0438u0442u0435u0440, u0443u0447-u043a. u0443u0447., u0434. 362”,”u0420u0435u0441u043fu0443u0431u043bu0438u043au0430 u0414u0430u0433u0435u0441u0442u0430u043d, u0433 u041cu0430u0445u0430u0447u043au0430u043bu0430, u0
 

Drunkenmunky

Приведите исходные массивы в читаемый вид с помощью var_export(), и используйте bbcode
И приведите пример того массива, который из них должен получиться.

 

solar25

Код (Text):
  1. //первый массив $kn
  2. array ( 0 => ’05:40:000000:7744′, 1 => ’05:40:000004:2044′,)
  3. //второй массив $address
  4. array ( 0 => ‘г Махачкала, линия А.Акушинского пр-кт 10-я, д. 362’, 1 => ‘Республика Дагестан, г. Махачкала, сдт. Юпитер, уч-к. уч., д. 362’,)
  5.  
  6. //получиться должен такой
  7. array ( 0 => stdClass::__set_state(array( ‘cadNum’ => ’05:40:000000:7744′, ‘address’ => ‘г Махачкала, линия А.Акушинского пр-кт 10-я, д. 362’, )), 1 => stdClass::__set_state(array( ‘cadNum’ => ’05:40:000004:2044′, ‘address’ => ‘Республика Дагестан, г. Махачкала, сдт. Юпитер, уч-к. уч., д. 362’, )), )
 

Drunkenmunky

PHP:
  1. $new_array = array();
  2.  
  3. foreach($kn as $key => $value)
  4. {
  5.   $new_array[$key][‘cadNum’] = $value;
  6.   $new_array[$key][‘address’] = $address[$key];
  7. }
  8.  
  9. print_r($new_array);
 

solar25

Изящно! Большое спасибо Вам.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *