![](/img/trans.png)
[英]How to correctly use filter_input_array on an array without keys?
[英]use of filter_input_array and array_filter on the same array
我的表单中有一组相同的输入字段,其中一些字段可以为空。
<input type="text" class="form-control" name="option[]" placeholder="fill in" />
<input type="text" class="form-control" name="option[]" placeholder="optional" />
<input type="text" class="form-control" name="option[]" placeholder="optional" />
这些输入字段的值进入数组$_POST["option"]
我想过滤$_POST["option"]
,为此,我正在使用以下代码:
$filter = array("option" => array("filter"=>FILTER_CALLBACK,"flags"=>FILTER_FORCE_ARRAY,"options"=>"ucwords"));
$optionfin = filter_input_array(INPUT_POST, $filter);
但是现在我还想使用array_filter
函数删除空字段,因此我只能将已填写的字段输入到数据库中,但这似乎不起作用。
$option = array_filter($optionfin);
当我执行以下操作时:
$optionfin = array_filter($_POST["option"]);
这工作正常,但我知道您最好不要$_POST
这种方式访问$_POST
因为它不是那么安全...
谁能帮我指出我要去哪里错了?
谢谢
因为您使用的是filter_input_array
,所以实际上最终会得到一个与$_POST
对应的关联数组。 因此,要在尝试执行操作时过滤掉空白字段,您将需要指定option
键:
$option = array_filter($optionfin['option']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.