would any of you know a good way to put this into an associative array . I have tried json_decode but found it to not be much help.
This is the data i need to put in
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.
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