3个PHP常量我不知道他们做了什么
The name says it all I can agree no more but there is a function called
<em>filter_var/input_array()</em> which works in similar fashion;
I've seen examples where recursive validation is required but
not all element in the array are arrays some items are just scalar value
<?php
$x = 5;
$y = [1, 2, 3];
var_dump(filter_var($x,FILTER_REQUIRE_SCALAR));
var_dump(filter_var($y,FILTER_REQUIRE_SCALAR));
?>
考虑到生产的分组码 布尔(假) 布尔(假) 如使用可以看到$ x是标量的确
始终返回数组这是我在phpDoc发现这个文件给我讲一个这样的例子,请
FILTER_REQUIRE_ARRAY:
<?php
$arr = array(1,2,3,4,5);
$a = 3;
$result = filter_var( $arr,FILTER_VALIDATE_INT, FILTER_REQUIRE_ARRAY);
var_dump($result);
// output:
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
4 => int 5
$result = filter_var( $a,FILTER_VALIDATE_INT, FILTER_REQUIRE_ARRAY);
var_dump($result); // boolean false
在该片段中,如果一个期望的输入是一个数组,通过使用选项FILTER_REQUIRE_ARRAY,它有助于避免含标量值而不是数组的验证输入。
filter_var_array()不将与数据在这个例子中,因为它预期的数据如下工作的:
用含有过滤数据串的密钥的阵列。 (见Manual)
FILTER_REQUIRE_SCALAR:
<?php
$arr = array(1,2,3,4,5);
$a = 3;
$result = filter_var( $arr,FILTER_VALIDATE_INT, FILTER_REQUIRE_SCALAR);
var_dump($result); // boolean false
$result = filter_var( $a,FILTER_VALIDATE_INT, FILTER_REQUIRE_SCALAR);
var_dump($result); // int 3
在上面的代码中,如果一个期望的输入是一个标量,通过使用选项FILTER_REQUIRE_SCALAR,它是在如果输入包含信息而不是预期的标量值的阵列检测是有用的。
下面是一个使用FILTER_FORCE_ARRAY一个简单的例子:
<?php
$num = "1";
$result = filter_var( $num,FILTER_VALIDATE_INT,FILTER_FORCE_ARRAY);
var_dump($result);
// output:
array (size=1)
0 => int 1
如果标志FILTER_FORCE_ARRAY不存在,那么$结果将是int 1