将数组发布到php中的数组数组中

时间:2015-04-08 05:41:52

标签: php arrays forms post

我想将我的post数组放入数组数组中。我有以下形式(此表单在foreach循环内),它将发布如下的数组数据:

<input type="hidden" name="cl[]" value="">
<input type="hidden" name="cd[]" value="">

并且在firebug中查看时包含post数组:

cl[]    4
cl[]    4
cd[]    John
cd[]    Shaw

我希望这些价值如下所示:

$allData = array(
    array(
        'cl' => 4,
        'cd' => 'John',
    ),
    array(
        'cl' => 4,
        'cd' => 'Shaw',
    )
);

请帮忙。

2 个答案:

答案 0 :(得分:1)

为方便访问,请命名数组(可选)

<input type="text" name="data[cl][]" />
<input type="text" name="data[cd][]" />
<input type="text" name="data[cl][]" />
<input type="text" name="data[cd][]" />

循环使用双foreach:

foreach($_POST['data'] as $key => $row) {
        foreach($row as $subkey => $values) {
                $array[$subkey][$key]   =   $values;
            }
    }

 print_r($array); ?>

给你:

Array
(
    [0] => Array
        (
            [cl] => val1
            [cd] => val2
        )

    [1] => Array
        (
            [cl] => val3
            [cd] => val4
        )

)

答案 1 :(得分:0)

$cl[] =   4;
$cl[]  =  4;
$cd[]   = 'John';
$cd[]    ='Shaw';
if (!empty($cl) && !empty($cd)) {
    $count = count($cl);
    for ($i = 0; $i < $count; $i++) {
        $newArr[] = array('c1' => $cl[$i], 'cd' => $cd[$i]);
    }
}
print_r($newArr);