thinphp5 用input()方法接受 get/post数组 报错问题

症状:

<form>
<input name="id[]" value="1"/>
    <input name="id[]" value="2"/>
    <input name="id[]" value="3"/>
    <input name="id[]" value="4"/>
<button type="submit">提交</button>
</form>

如上表单,提交的id PHP再用 $_POST[‘id’] 接收后,会得到一个数组。

再用tp5 的   input(‘id’); 接受的时候,会报错。

后来参看手册后,发现tp5  使用 input(‘id/a‘) ; 可解决。

详情在手册:https://www.kancloud.cn/manual/thinkphp5/118044

变量修饰符
input函数支持对变量使用修饰符功能,可以更好的过滤变量。
用法如下:

input('变量类型.变量名/修饰符');
或者

Request::instance()->变量类型('变量名/修饰符');
例如:

input('get.id/d');
input('post.name/s');
input('post.ids/a');
Request::instance()->get('id/d');
ThinkPHP5.0版本默认的变量修饰符是/s,如果需要传入字符串之外的变量可以使用下面的修饰符,包括:
修饰符 作用
s 强制转换为字符串类型
d 强制转换为整型类型
b 强制转换为布尔类型
a 强制转换为数组类型
f 强制转换为浮点类型
如果你要获取的数据为数组,请一定注意要加上 /a 修饰符才能正确获取到。


发表评论

邮箱地址不会被公开。 必填项已用*标注