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.