如何在没有键的数组上正确使用filter_input_array?

时间:2015-10-28 12:42:28

标签: php arrays

我的$_POST数组中有一个没有键的变量:(这是来自带name[]的输入表单。)

var_dump($_POST)看起来像这样:

array(2) {
  ["name1"]=>
  string(1) "ttt"
  ["name2"]=>
  array(1) {
    [0]=>
    string(2) "test"
  }
}

如何在此阵列上正确使用filter_input_array

例如,我需要对所有FILTER_VALIDATE_INT元素使用name2

UPD print_r $_POST

Array
(
    [name1] => ttt
    [name2] => Array
        (
            [0] => test
        )
)

2 个答案:

答案 0 :(得分:0)

假设您name2的帖子是这样的:$_POST['name2']=array(0=>"100",1=>20,2=>"test");然后尝试以下代码。

 <?php
$_POST['name2']=array(0=>"100",1=>20,2=>"test");
foreach($_POST['name2'] as $key=>$val){
if (!filter_var($val, FILTER_VALIDATE_INT) === false) {
     echo("value is an integer<br>");
} else {
     echo("value is not an integer<br>");
}
}
?>

答案 1 :(得分:0)

$args = array(
'name1'   => SOME_FILTER // this is for example,

'name2'   => array(
                        'filter' => FILTER_VALIDATE_INT,
                        'flags'  => FILTER_REQUIRE_SCALAR,
                       ),

);

$ myinputs = filter_input_array(INPUT_POST,$ args);

的var_dump($ myinputs); echo“\ n”;