Как передать данные из JSON в функцию PHP? - PullRequest
0 голосов
/ 18 мая 2011
[registration] => Array
    (
        [first_name] => test
        [location] => Array
            (
                [name] => Santa Ana
                [id] => 1.08081209215E+14
            )
        [gender] => female
        [password] => 123654789
    )

и мне нужно вставить эти данные в базу данных, используя:

$carray = fns_create_talent($login, $pass, $gender, $name);

есть идеи, как доставить их из одного места в другое?

Я думал, что мне нужно присвоить значения массива для post-переменных. может быть:

$login = registration.first_name...

есть идеи? спасибо

Ответы [ 3 ]

3 голосов
/ 18 мая 2011

То, что вы показали, это не JSON, а массив PHP. Я предполагаю, что это структура данных, которые вы хотите отправить на сервер.

Вы можете сделать это так (помните, в JavaScript нет ассоциативных массивов!):

  • на стороне Javascript сделайте что-то похожее на это:

    var data = {
        'registration': {
            'first_name': 'test',
            'location': {
                'name': 'Santa Ana',
                'id': '1.08081209215E+14'
            },
            'gender': 'female',
            'password': 123654789
        }
    }
    
  • , а затем используйте data в например. jQuery .post () в качестве второго параметра.

  • на стороне PHP просто читайте из $_POST, когда вы читаете многомерные ассоциативные массивы. В этом случае это должно выглядеть примерно так:

    // I have made assumption here (you do not have
    // 'login' variable in your example)
    $login = $_POST['registration']['first_name'];
    
    $pass = $_POST['registration']['password'];
    $gender = $_POST['registration']['gender'];
    $name = $_POST['registration']['first_name'];
    $carray = fns_create_talent($login, $pass, $gender, $name);
    

Вот, пожалуйста.

3 голосов
/ 18 мая 2011
$login = $json['registration']['first_name']
0 голосов
/ 18 мая 2011

РЕДАКТИРОВАНИЕ:

Где $ arr - отправленный вами массив.

$carray = fns_create_talent( 
    /* your login var */,
    $arr['registration']['password'],
    $arr['registration']['gender'],
    $arr['registration']['first_name']
);

Я не вижу ваш логин внутри массива, поэтому я просто оставил комментарий для логина var, но вы должны понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...