Вопрос по JSON

Всем привет! Есть одна не решённая задачка, вообщем есть API откуда я беру JSON, декодю и вывожу как массивы, вот таким простым кодом:

foreach($price as $period) {
            echo '<pre>';
            var_dump($period);
            echo '</pre>';
        }
но проблема заключается в следующем, выдало непонятные массивы:

array(5) {
  ["$cost"]=>
  string(5) "35.00"
  ["$type"]=>
  string(5) "month"
  ["$length"]=>
  string(1) "1"
  ["$orderlink"]=>
  string(172) "https://my.sequel.one:1500/billmgr?func=register&redirect=startpage%3Dpaidsupport%26startform%3Dpaidsupport%252Eorder%252Eparam%26pricelist%3D418%26period%3D1%26project%3D2"
  ["$"]=>
  string(7) "monthly"
}
Вопрос: как из них можно получить данные? В массиве выводятся переменные, может кто сталкивался с подобным, а то распарсил больше половины данных и тут такой сюрприз, первый раз такое наблюдаю.
Андрей Копп
12 октября 2015, 21:43
modx.pro
1 485
0

Комментарии: 5

Сергей Шлоков
13 октября 2015, 09:28
+1
Можно обращаться по имени ключа $period['$cost'], а можно еще один foreach() сделать. Что тебя так напугало, знак доллара в ключе?
    Андрей Копп
    13 октября 2015, 13:03
    0
    Так дело в том, что так и делаю $period['$cost'], а мне вместо значений NULL выдаёт.
      Василий Наумкин
      13 октября 2015, 13:40
      +1
      Уверен, что именно
      $period['$cost']
      а не
      $period["$cost"]
      Второй вариант с двойными кавычками не будет работать.
        Андрей Копп
        13 октября 2015, 15:48
        0
        Ты прав, делал с двойными ковычками, сейчас всё выводится как надо. Спасибо)
    Сергей Шлоков
    13 октября 2015, 09:41
    +1
    Можно и через list()
    list($cost,$type,$length,$orderlink,$lastVar) = array_values($period);
    Тогда будут определены свои переменные.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5