我想将我的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',
)
);
请帮忙。
答案 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);