2013-09-05 4 views
-1

Как получить этот PHP строку, которая была достигнута с помощью JSON декодирования:преобразования JSON строку в PHP многомерный массив

[ 
    { 
     "rank": 5, 
     "day": 1 
    }, 
    { 
     "rank": 4, 
     "day": 5 
    } 
] 

в этот PHP многомерный массив:

 { 
    [ 
     0 
    ]=>array(2){ 
     [ 
      "rank" 
     ]=>int(5)[ 
      "day" 
     ]=>int(1) 
    }[ 
     1 
    ]=>array(2){ 
     [ 
      "rank" 
     ]=>int(4)[ 
      "day" 
     ]=>int(5) 
    } 
} 

Это так, что я могу обращайтесь к нему с помощью $ multiArray [$ x] ['day']. Например, echo $ multiArray [0] ['day']; производит 1 и echo $ multiArray [1] ['day']; производит 5.

Я пробовал json_decode, но не смог заставить его работать.

ответ

2

Проход true как второй аргумент json_decode().

ассоциативный

Когда TRUE, возвращаемые объекты будут преобразованы в ассоциативные массивы.

Документация существует по причине.

php > print_r(json_decode('[{"rank":5,"day":1},{"rank":4,"day":5}]', true)); 
Array 
(
    [0] => Array 
     (
      [rank] => 5 
      [day] => 1 
     ) 

    [1] => Array 
     (
      [rank] => 4 
      [day] => 5 
     ) 
)