PHP从POST数组中获取值

时间:2017-02-17 04:27:07

标签: php post

我正在处理提交到我的PHP页面的表单。请求数据如下所示:

Array
(
[submission_id] => 363112875894117228
[name] => Array
    (
        [0] => Tom
        [1] => Jones
    )

[address] => Array
    (
        [0] => 21 Jump St
        [1] => 
        [2] => Sydney
        [3] => NSW
        [4] => 2000
        [5] => Australia
    )

[cellularnumber] => Array
    (
        [0] => (041) 234-5678
    )

)

我正在尝试设置一个包含名字,姓氏等值的变量。例如我想设置一个变量:

$firstName

等于汤姆。

我熟悉使用这种语法:

$firstName = $_POST['name']

但在这种情况下不确定如何处理数组?

4 个答案:

答案 0 :(得分:0)

使用名称的数组索引,如

$fname = $_POST['name'][0]; $lname = $_POST['name'][1];

并使用implode语句作为地址,如

implode(" ",$_POST['address'])(它会将您的地址数组转换为字符串)

答案 1 :(得分:0)

你有没有这样尝试过,我希望这对你有用。

$firstName = $_POST['name'][0];
$lastName = $_POST['name'][1];

答案 2 :(得分:0)

它是一个多维数组。在您的情况下,数组元素名称还有一个子数组。您可以按如下方式访问它,

$firstName = $_POST['name'][0];
$lastName = $_POST['name'][1];

答案 3 :(得分:0)

您可以使用json_encode将整个数组转换为JSON到POST,然后使用json_decode获取后端的所有数据。

http://php.net/manual/en/function.json-encode.php

http://php.net/manual/en/function.json-decode.php

$result = json_encode(Array
(
'submission_id' => 363112875894117228,
'name' => Array
    (
        0 => 'Tom',
        1 => 'Jones',
    ),
'address' => Array
    (
        0 => '21 Jump St',
        1 => '',
        2 => 'Sydney',
        3 => 'NSW',
        4 => '2000',
        5 => 'Australia',
    ),
'cellularnumber' => Array
    (
        0 => '(041) 234-5678',
    ),
))

结束{“submission_id”:363112875894117228,“name”:[“Tom”,“Jones”],“address”:[“21 Jump St”,“”,“Sydney”,“NSW”,“ 2000“,”澳大利亚“],”蜂窝编号“:[”(041)234-5678“]}