如何将数据从json传递到php函数?

时间:2011-05-18 18:13:37

标签: php json post

[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 vars。也许:

$login = registration.first_name...

任何想法? 感谢

3 个答案:

答案 0 :(得分:3)

$login = $json['registration']['first_name']

答案 1 :(得分:3)

你所展示的不是JSON,而是PHP的数组。我假设这是您要发送到服务器的数据的结构。

你可以这样做(记住,JavaScript中没有关联数组!):

    Javascript方面的
  • 做了类似的事情:

    var data = {
        'registration': {
            'first_name': 'test',
            'location': {
                'name': 'Santa Ana',
                'id': '1.08081209215E+14'
            },
            'gender': 'female',
            'password': 123654789
        }
    }
    
  • 然后在例如中使用datajQuery .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);
    

你走了。

答案 2 :(得分:0)

编辑:

$ arr是您提交的数组。

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

我没有在数组中看到你的登录信息,所以我只是对login var发表评论,但是你应该明白这一点。