JSON to PHP Associative array JSON to PHP Associative array json json

JSON to PHP Associative array


json_decode works for me on your data:

print_r(json_decode('{       "data": [          {             "name": "Joe Bloggs",             "id": "203403465"          },          {             "name": "Fred Bloggs",             "id": "254706567"          },          {             "name": "Barny Rubble",             "id": "453363843"          },          {             "name": "Homer Simpson",             "id": "263508546"          }       ]    }', true));

Output:

Array(    [data] => Array        (            [0] => Array                (                    [name] => Joe Bloggs                    [id] => 203403465                )            [1] => Array                (                    [name] => Fred Bloggs                    [id] => 254706567                )            [2] => Array                (                    [name] => Barny Rubble                    [id] => 453363843                )            [3] => Array                (                    [name] => Homer Simpson                    [id] => 263508546                )        ))

Setting the second argument to true returns an associative array.


i asume your json comes via ajax.... (otherwise the code works with json_decode)so be sure the js json stringifys your object and

you'll need to stripslashes before json_decode ;-) in php


You have to make a new array

$json_array = json_decode($_POST['json'], true);$assoc_array = array();for($i = 0; $i < sizeof($json_array); $i++){     $key = $json_array[$i]['name'];     $assoc_array[$key] = $json_array[$i]['value'];}

you will get your associative array in $assoc_array and you can now directly access using indexes.