В общем, старая структура ответа была наипростейшей, вот такой:
Code: Select all
{
"131": "Парагвай",
"61": "Португалия",
"22": "Казахстан",
"77": "Венесуэла",
"92": "Босния и Герцеговина",
"59": "Бразилия",
"13": "Таиланд",
"5": "Новая Зеландия",
"104": "Мальта",
"51": "Исландия",
"75": "Кипр",
"69": "Ливан",
"81": "Филиппины",
"57": "Греция",
"186": "Ангилья",
"80": "Египет",
"24": "Германия",
"54": "Финляндия",
"62": "Венгрия",
"56": "Индия",
"52": "Аргентина",
"41": "Узбекистан",
"42": "Молдова",
"19": "ЮАР",
"12": "Китай",
"21": "Нидерланды",
"23": "Гонконг",
"97": "Чили",
"58": "Чехия",
"60": "Бельгия",
"79": "Перу",
"30": "Румыния",
"84": "Сербия",
"4": "США",
"49": "Швеция",
"48": "Испания",
"28": "Ирландия",
"20": "Япония",
"10": "Швейцария",
"2": "Беларусь",
"15": "Канада",
"16": "Австралия",
"25": "Южная Корея",
"71": "Израиль",
"76": "Сингапур",
"17": "Польша",
"50": "Колумбия",
"31": "Мексика",
"27": "Австрия",
"36": "Словакия",
"107": "Словения",
"74": "Малайзия",
"63": "Индонезия",
"91": "Болгария",
"94": "Пакистан",
"1": "Россия",
"6": "Великобритания",
"8": "Франция",
"139": "Марокко",
"29": "Италия",
"18": "Дания",
"55": "Норвегия",
"32": "Турция",
"87": "СССР",
"38": "Киргизия",
"33": "Украина"
}
и этот ответ обрабатывал кусок кода: (jsonSource - это содержимое json ответа, $sess->countries - это итоговая переменная, которая отдаётся в дальнейшую работу)
Code: Select all
$s = jsonSource
$sess->countries = json_decode( $s, true );
А теперь формат ответа изменился, теперь он такой:
Code: Select all
{
"result": {
"131": {
"title": "Парагвай",
"code": "PY",
"phone_code": 595,
"priority": 1,
"currency_code": "USD"
},
"61": {
"title": "Португалия",
"code": "PT",
"phone_code": 351,
"priority": 1,
"currency_code": "EUR"
},
"22": {
"title": "Казахстан",
"code": "KZ",
"phone_code": 7,
"priority": 229,
"currency_code": "KZT"
},
"77": {
"title": "Венесуэла",
"code": "VE",
"phone_code": 58,
"priority": 1,
"currency_code": "USD"
},
"92": {
"title": "Босния и Герцеговина",
"code": "BA",
"phone_code": 387,
"priority": 1,
"currency_code": "EUR"
},
"59": {
"title": "Бразилия",
"code": "BR",
"phone_code": null,
"priority": 227,
"currency_code": "USD"
},
"13": {
"title": "Таиланд",
"code": "TH",
"phone_code": null,
"priority": 1,
"currency_code": "USD"
},
"5": {
"title": "Новая Зеландия",
"code": "NZ",
"phone_code": 64,
"priority": 1,
"currency_code": "USD"
},
"104": {
"title": "Мальта",
"code": "MT",
"phone_code": 356,
"priority": 1,
"currency_code": "EUR"
},
"51": {
"title": "Исландия",
"code": "IS",
"phone_code": 354,
"priority": 1,
"currency_code": "EUR"
},
"75": {
"title": "Кипр",
"code": "CY",
"phone_code": 357,
"priority": 1,
"currency_code": "EUR"
},
"69": {
"title": "Ливан",
"code": "LB",
"phone_code": 961,
"priority": 1,
"currency_code": "USD"
},
"81": {
"title": "Филиппины",
"code": "PH",
"phone_code": 63,
"priority": 1,
"currency_code": "USD"
},
"57": {
"title": "Греция",
"code": "GR",
"phone_code": 30,
"priority": 1,
"currency_code": "EUR"
},
"186": {
"title": "Ангилья",
"code": "AI",
"phone_code": null,
"priority": 1,
"currency_code": "EUR"
},
"80": {
"title": "Египет",
"code": "EG",
"phone_code": 20,
"priority": 1,
"currency_code": "USD"
},
"24": {
"title": "Германия",
"code": "DE",
"phone_code": 49,
"priority": 244,
"currency_code": "EUR"
},
"54": {
"title": "Финляндия",
"code": "FI",
"phone_code": 358,
"priority": 223,
"currency_code": "EUR"
},
"62": {
"title": "Венгрия",
"code": "HU",
"phone_code": 36,
"priority": 232,
"currency_code": "EUR"
},
"56": {
"title": "Индия",
"code": "IN",
"phone_code": null,
"priority": 242,
"currency_code": "USD"
},
"52": {
"title": "Аргентина",
"code": "AR",
"phone_code": 54,
"priority": 234,
"currency_code": "USD"
},
"41": {
"title": "Узбекистан",
"code": "UZ",
"phone_code": 998,
"priority": 1,
"currency_code": "USD"
},
"42": {
"title": "Молдова",
"code": "MD",
"phone_code": 373,
"priority": 1,
"currency_code": "USD"
},
"19": {
"title": "ЮАР",
"code": "ZA",
"phone_code": null,
"priority": 1,
"currency_code": "USD"
},
"12": {
"title": "Китай",
"code": "CN",
"phone_code": null,
"priority": 235,
"currency_code": "USD"
},
"21": {
"title": "Нидерланды",
"code": "NL",
"phone_code": 31,
"priority": 1,
"currency_code": "EUR"
},
"23": {
"title": "Гонконг",
"code": "HK",
"phone_code": null,
"priority": 239,
"currency_code": "USD"
},
"97": {
"title": "Чили",
"code": "CL",
"phone_code": 56,
"priority": 1,
"currency_code": "USD"
},
"58": {
"title": "Чехия",
"code": "CZ",
"phone_code": 420,
"priority": 1,
"currency_code": "EUR"
},
"60": {
"title": "Бельгия",
"code": "BE",
"phone_code": 32,
"priority": 231,
"currency_code": "EUR"
},
"79": {
"title": "Перу",
"code": "PE",
"phone_code": 51,
"priority": 1,
"currency_code": "USD"
},
"30": {
"title": "Румыния",
"code": "RO",
"phone_code": 40,
"priority": 1,
"currency_code": "EUR"
},
"84": {
"title": "Сербия",
"code": "RS",
"phone_code": 381,
"priority": 1,
"currency_code": "EUR"
},
"4": {
"title": "США",
"code": "US",
"phone_code": 1,
"priority": 251,
"currency_code": "USD"
},
"49": {
"title": "Швеция",
"code": "SE",
"phone_code": 46,
"priority": 236,
"currency_code": "EUR"
},
"48": {
"title": "Испания",
"code": "ES",
"phone_code": 34,
"priority": 245,
"currency_code": "EUR"
},
"28": {
"title": "Ирландия",
"code": "IE",
"phone_code": 353,
"priority": 226,
"currency_code": "EUR"
},
"20": {
"title": "Япония",
"code": "JP",
"phone_code": null,
"priority": 240,
"currency_code": "USD"
},
"10": {
"title": "Швейцария",
"code": "CH",
"phone_code": 41,
"priority": 1,
"currency_code": "EUR"
},
"2": {
"title": "Беларусь",
"code": "BY",
"phone_code": 375,
"priority": 1,
"currency_code": "BYN"
},
"15": {
"title": "Канада",
"code": "CA",
"phone_code": 1,
"priority": 246,
"currency_code": "USD"
},
"16": {
"title": "Австралия",
"code": "AU",
"phone_code": 61,
"priority": 237,
"currency_code": "USD"
},
"25": {
"title": "Южная Корея",
"code": "KR",
"phone_code": null,
"priority": 238,
"currency_code": "USD"
},
"71": {
"title": "Израиль",
"code": "IL",
"phone_code": 972,
"priority": 1,
"currency_code": "USD"
},
"76": {
"title": "Сингапур",
"code": "SG",
"phone_code": 65,
"priority": 1,
"currency_code": "USD"
},
"17": {
"title": "Польша",
"code": "PL",
"phone_code": 48,
"priority": 228,
"currency_code": "EUR"
},
"50": {
"title": "Колумбия",
"code": "CO",
"phone_code": null,
"priority": 225,
"currency_code": "USD"
},
"31": {
"title": "Мексика",
"code": "MX",
"phone_code": null,
"priority": 224,
"currency_code": "USD"
},
"27": {
"title": "Австрия",
"code": "AT",
"phone_code": 43,
"priority": 1,
"currency_code": "EUR"
},
"36": {
"title": "Словакия",
"code": "SK",
"phone_code": 421,
"priority": 1,
"currency_code": "EUR"
},
"107": {
"title": "Словения",
"code": "SI",
"phone_code": 386,
"priority": 1,
"currency_code": "EUR"
},
"74": {
"title": "Малайзия",
"code": "MY",
"phone_code": 60,
"priority": 1,
"currency_code": "USD"
},
"63": {
"title": "Индонезия",
"code": "ID",
"phone_code": 62,
"priority": 1,
"currency_code": "USD"
},
"91": {
"title": "Болгария",
"code": "BG",
"phone_code": 359,
"priority": 1,
"currency_code": "EUR"
},
"94": {
"title": "Пакистан",
"code": "PK",
"phone_code": 92,
"priority": 1,
"currency_code": "USD"
},
"1": {
"title": "Россия",
"code": "RU",
"phone_code": 7,
"priority": 252,
"currency_code": "RUB"
},
"6": {
"title": "Великобритания",
"code": "GB",
"phone_code": 44,
"priority": 250,
"currency_code": "EUR"
},
"8": {
"title": "Франция",
"code": "FR",
"phone_code": 33,
"priority": 249,
"currency_code": "EUR"
},
"139": {
"title": "Марокко",
"code": "MA",
"phone_code": 212,
"priority": 1,
"currency_code": "USD"
},
"29": {
"title": "Италия",
"code": "IT",
"phone_code": 39,
"priority": 247,
"currency_code": "EUR"
},
"18": {
"title": "Дания",
"code": "DK",
"phone_code": 45,
"priority": 241,
"currency_code": "EUR"
},
"55": {
"title": "Норвегия",
"code": "NO",
"phone_code": 47,
"priority": 233,
"currency_code": "EUR"
},
"32": {
"title": "Турция",
"code": "TR",
"phone_code": null,
"priority": 230,
"currency_code": "USD"
},
"87": {
"title": "СССР",
"code": "SU",
"phone_code": null,
"priority": 248,
"currency_code": "RUB"
},
"38": {
"title": "Киргизия",
"code": "KG",
"phone_code": 996,
"priority": 1,
"currency_code": "USD"
},
"33": {
"title": "Украина",
"code": "UA",
"phone_code": 380,
"priority": 243,
"currency_code": "USD"
}
}
}
То есть, добавились дополнительные разделы, но мне нужен только раздел "title:", чтоб на выходе получить переменную $sess->countries того же формата, что и был.
За эти 2 дня много что перепробовал, но ничего не работает. Ну не знаю я php, а этот синтаксис просто убивает... Вот последний из вариантов, что пробовал, и он не работает:
Code: Select all
$s = jsonSource
$a= json_decode( $s, true );
$a = $a['result'];
$sess->countries = array();
foreach( $a as $cou )
{
$id = $cou;
foreach( $cou[''] as $g )
$sess->countries[ $id ] = array(
'' => $g['title'],
);
}