php 怎样把表单传过来数据使用foreach循环接收$_POST的键作为变量用?

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>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-25
echo $$key = $value; 你把$value重新赋值给了$key追问

知道啊,就是想把键转为变量,对应的值赋给变量,但是结果是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;
}
}

追问

我明白你的意思了,谢谢

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网