foreach($_POST as $key => $value){ echo $$key = $value; } 运行结果: rrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray 为什么呢?可以说详细一点吗?
可以用数组来实现:
<tr><td><input type="text" name='title[0]'/></td>
<td><input type="text" name='user[0]' /></td>
<td><input type="text" name='addtime[0]'/></td>
</tr>
<tr>
<td><input type="text" name='title[1]'/></td>
<td><input type="text" name='user[1]' /></td>
<td><input type="text" name='addtime[1]'/></td>
</tr>
<tr>
<td><input type="text" name='title[2]' /></td>
<td><input type="text" name='user[2]'/></td>
<td><input type="text" name='addtime[2]'/></td>
</tr>
知道啊,就是想把键转为变量,对应的值赋给变量,但是结果是rrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
追答没见过你这种写法,也不知道你要得到什么
追问比如,表单 商品名称
用foreach循环接收,假如我在商品名称文本框输入123456,
$_POST接收过来是不是肯定有个键 p_name对应的值是不是123456
在$key 多加了一个$ 是想把p_name键转为 变量$p_name
$$key = $value 把值也对应给变量! 然后插入到数据库!
$_POST本身就是一个一维数组,你在表单域的名称后面加了一个[],那么他接受之后就成了二维数组
那你foreach遍历二维数组就得到了一维数组,那既然还是数组,那不是array是什么呢???
建议,把表单域中的name属性中的[]去掉
当然,你可以用foreach再遍历一次!不过这样似乎是画蛇添足。。。。
foreach($_POST as $key => $value){
$key = $value;
foreach($key as $bb=>$cc){
echo $bb=$cc;
}
}
我明白你的意思了,谢谢
本回答被提问者采纳