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
Run Code Online (Sandbox Code Playgroud)
<?php
$x = 5;
$y = [1, 2, 3];
var_dump(filter_var($x,FILTER_REQUIRE_SCALAR));
var_dump(filter_var($y,FILTER_REQUIRE_SCALAR));
?>
Run Code Online (Sandbox Code Playgroud)
考虑产生
bool(false)
bool(false)
as use的 prev code可以看到$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
Run Code Online (Sandbox Code Playgroud)
在这个片段中,如果希望输入是一个数组,通过使用选项 FILTER_REQUIRE_ARRAY,它有助于避免验证包含标量值而不是数组的输入。
filter_var_array() 不适用于本示例中的数据,因为它期望数据如下:
带有字符串键的数组,其中包含要过滤的数据。(见手册)
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
Run Code Online (Sandbox Code Playgroud)
在前面的代码中,如果希望输入是标量,则通过使用选项 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
Run Code Online (Sandbox Code Playgroud)
如果标志 FILTER_FORCE_ARRAY 不存在,则 $result 将是 int 1
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |