2

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?

4
  • 1
    Does that question help you? stackoverflow.com/questions/16003122/… Commented Sep 29, 2013 at 21:37
  • 1
    Unfortunately - no. I have to send the data exactly by described way. Commented Sep 29, 2013 at 21:39
  • What prevents you from doing it the way suggested in the other question? Commented Sep 29, 2013 at 21:42
  • It is the piece of WordPress plugin, so the WordPress core structure prevents me :) Commented Sep 29, 2013 at 21:48

2 Answers 2

13

Use parse_str():

parse_str($_POST['data'], $my_post);
Sign up to request clarification or add additional context in comments.

Comments

2

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.