1

I make a AJAX call, and sends the argument equal to forms's serialize-d value.

var form_data= $('#some-form').serialize();
var data = {
                    action: 'my-action',
                    data: form_data
                };
$.post(my-file.php,data...){...}

So in my php file var I have a $_POST['data'] = arg1=value1&arg2[arg2_1]=value2... and so on.

It can be a long string with unlimited number of arguments and unlimited depth level.

So the question - is there any function in php, to make such string to an Associative array like this

$my_post[arg1]=value1;
$my_post[arg_2][arg2_1]=value2;
...

Or I need to write that function myself?

Simon
  • 22,637
  • 36
  • 92
  • 121

2 Answers2

12

Use parse_str():

parse_str($_POST['data'], $my_post);
Barmar
  • 741,623
  • 53
  • 500
  • 612
2

You can use parse_str() as described here: PHP unserializing a JS serialized string of variables

Community
  • 1
  • 1
geomagas
  • 3,230
  • 1
  • 17
  • 27