批改状态:合格
老师批语:酒同学, 常量全部都要大写,注意啦~
__function__;
__function__;
__line__;
__namespace__
2.1 define函数方法定义常量:
语法:
define(常量名,值,是否对大小写敏感);
2.2 const定义常量;
语法:
const 变量名=值;
define函数的第三个参数是否大小写敏感,系统默认是false;
define 可以放入条件分支语句中,而const不可以放入;
我们做web应用程序需要对用户输入的数据进行判断,比如我们需要用户输入的年龄是18岁,但是用户给我来一个十八岁,很显然,前面的这个18是是整型,而后面这个十八是字符型,这个时候我们就需要系统去做判断,这个时候就可以使用变量过滤器进行过滤判断,确保用户输入的数据是合法的程序员需要的(当然其他方法也是有的,这里只是举个例子)。
foreach(filter_list() as $filter){echo $filter ."=>".filter_id($filter)."<br>";}
filter_var() :通过一个指定的过滤器来过滤单一的变量
`filter_var(变量名,过滤器名称);`
$int = 18;if(!filter_var($int, FILTER_VALIDATE_INT)){echo("不是整型");}else{echo("是整型");}输出结果:是整型
filter_var_array() :通过相同的或不同的过滤器来过滤多个变量语法:filter_var_array(array,args)
| 参数 | 描述 |
|---|---|
array |
必需的,带有字符串的数组,包含要过滤的数据 |
args |
可选的,合法的数组键是变量名。合法的值是过滤器ID,或者规定过滤器,标志以及选项的数组。该参数也可以是一个单独的过滤器ID,如果是这样,输入数组中的所有值由指定过滤器进行过滤。 |
举例:
<?php$arr = array("username" => "jiulinghou","age" => "18","email" => "123456@qq.com",);// 过滤$filters = array("username" => array("filter" =>FILTER_CALLBACK, // FILTER_CALLBACK 过滤器使用用户自定义函数对值进行过滤。"flags" =>FILTER_FORCE_ARRAY,"options" => "ucwords" // ucwords 函数 每个单词的首字符转换为大写),"age" =>array("filter" =>FILTER_VALIDATE_INT, // 过滤 age 的值是否为整型"options" => array("min_range" =>1,"max_range" =>120 //范围限制在 1~120 之间)),"email" => FILTER_VALIDATE_EMAIL, //过滤 email);print_r(filter_var_array($arr, $filters));// Array ( [username] => Jiulinghou [age] => 18 [email] => 123456@qq.com )// 以上 email 如果不是一个正确的 email 那么输出结果为:Array ( [username] => Jiulinghou [age] => 18 [email] => )
filter_input :获取一个输入变量,并对它进行过滤定义和用法
filter_input() 函数从脚本外部获取输入,并进行过滤,本函数用于对来自非安全来源的变量进行验证,比如用户的输入。
本函数可从下面来源获取输入:
如果成功,则返回被过滤的数据,如果失败,则返回 false,如果 variable 参数未设置,则返回 NULL。
语法:
filter_input(input_type, variable, filter, options)
input_type 参数: 必须的。规定输入的类型;
variable 参数:规定要过滤的变量;
fiter 参数:可选,规定要是用的过滤器ID。默认是filter_sanitize_string,简单来说就是设置一个过滤器;
options 参数:规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。
举个栗子:
下面测试一个从表单 通过 post 传过来一个email 的变量
<?phpif(!filter_input(input_post,'email',filter_validate_email)){echo '传过来的不是一个正确的Email';}else{echo 'email格式是正确的!';}
filter_input_array : 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤其实这个跟上面那个 filter_array 的方法意思差不多 知识由于是input 传过来的值 需要把 传递方法和变量引进来;
定义和用法
filter_input_array() 函数从脚本外部获取多项输入,并进行过滤。
本函数无需重复调用 filter_input(),对过滤多个输入变量很有用。
本函数可从各种来源获取输入:
语法
filter_input(input_type, args)
举个栗子:
<?php$filters = array("name" => array("filter"=>FILTER_CALLBACK,"flags"=>FILTER_FORCE_ARRAY,"options"=>"ucwords"),"age" => array("filter"=>FILTER_VALIDATE_INT,"options"=>array("min_range"=>1,"max_range"=>120)),"email"=> FILTER_VALIDATE_EMAIL,);print_r(filter_input_array(INPUT_POST, $filters));?>
输出结果:
Array([name] => Peter[age] => 41[email] => peter@example.com)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号