gpt4 book ai didi

php - 我可以在 php 过滤器(FILTER_REQUIRE_ARRAY、FILTER_REQUIRE_SCALAR、FILTER_FORCE_ARRAY)中直接得到这个吗

转载 作者:行者123 更新时间:2023-12-04 00:32:25 24 4
gpt4 key购买 nike

3 个 php 常量我不确定它们的作用

1。 FILTER_REQUIRE_ARRAY

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




FILTER_REQUIRE_SCALAR

    <?php 
$x = 5;
$y = [1, 2, 3];

var_dump(filter_var($x,FILTER_REQUIRE_SCALAR));
var_dump(filter_var($y,FILTER_REQUIRE_SCALAR));
?>

考虑生成

bool(false)
bool(false)
的prev代码作为使用可以看到$x确实是 标量


FILTER_FORCE_ARRAY

总是返回一个数组 这就是我在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() 不适用于此示例中的数据,因为它期望数据如下:

An array with string keys containing the data to filter. (see 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 标志不存在,则 $result 将为 int 1

关于php - 我可以在 php 过滤器(FILTER_REQUIRE_ARRAY、FILTER_REQUIRE_SCALAR、FILTER_FORCE_ARRAY)中直接得到这个吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27674208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com