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 into an associative array:
{
"data": [
{
"name": "Joe Bloggs",
"id": "203403465"
},
{
"name": "Fred Bloggs",
"id": "254706567"
},
{
"name": "Barny Rubble",
"id": "453363843"
},
{
"name": "Homer Simpson",
"id": "263508546"
}
]
}
EDIT:
After I accepted the answer, I remembered why I thought that the json_decode wasn't working.
Instead of having an associative array like this:
[0] => Array
(
[name] => Joe Bloggs
[id] => 203403465
)
I wanted one like this:
Array
(
[Joe Bloggs] => 45203340465
[Fred Bloggs] => 65034033446
)
Unfortunately, I had forgotten this at the time.. but I have resolved my issue now anyway.
Thanks for all of your help!
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With