症状:
<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 修饰符才能正确获取到。