<?php// 静态变量:实现函数在多次调用的过程中共享数据namespace ns3;function test(){static $sum = 0;$sum = $sum+1;return $sum;}echo test(),'<br>';echo test(),'<br>';echo test(),'<br>';// 变量过滤器foreach( filter_list() as $filter){echo $filter.' ==>'.filter_id($filter).'<br>';}echo '<hr>';// 过滤单个变量filter_var()// 年龄$age = 30;var_dump(filter_var($age, FILTER_VALIDATE_INT,['options'=>['min_range'=>18,'max_range'=>60]]));echo '<hr>';// 过滤多个变量filter_var_array()var_dump(filter_var_array([100, 'php'], FILTER_VALIDATE_INT));echo '<hr>';// 检测外部变量, filter_has_var()var_dump(filter_has_var(INPUT_GET, 'page'));echo '<hr>';// 访问外部变量的过滤器,filter_inputvar_dump(filter_input(INPUT_GET, 'p',FILTER_VALIDATE_INT, ['options'=>['min_range'=>1]]));echo '<hr>';// 验证多个外部变量: filter_input_array()$args = ['username' => FILTER_SANITIZE_STRING,'email' => FILTER_VALIDATE_EMAIL,'age' => ['filter' => FILTER_VALIDATE_INT, 'flags'=>FILTER_REQUIRE_SCALAR, 'options' => ['min_range' => 18]],'blog' => FILTER_VALIDATE_URL,];
总结:
1、变量的本质是数据共享;函数的本质是代码共享。
2、静态变量实现函数在多次调用中共享数据。
3、变量过滤器:实现比如表单输入数据的验证。
过滤单个变量filter_var()
过滤多个变量filter_var_array()
检测外部变量, filter_has_var()
访问外部变量的过滤器,filter_input()
验证多个外部变量: filter_input_array()
4、常量不受作用域限制
5、流程控制中,define能用, const不能用
6、常量通常只允许用标量进行初始化
标量: 单值变量, 字符串, 数值,布尔, null