博客列表 >常量的知识点总结,并且实例演示过滤器的使用

常量的知识点总结,并且实例演示过滤器的使用

N.
N.原创
2020年11月19日 16:52:00825浏览

常量的知识点总结:

php常量 :用于数据计算固定的值,常量类型只能是标量类型 boolean int float string;

  • 常量名前不能有$ 一般常量名总是大写 .
  • 多个单词由下划线连接 .
  • 常量必须初始化,常量也不受作用域的限制
  • 类常量之能用const定义 常量也不能取消定义或者重新定义

代码如下:

  1. // 第一种声明一个常量的方法
  2. const CE_SHI = "第一种声明常量的方法;";
  3. // 输出看一下
  4. echo CE_SHI,"输出出来了";
  5. echo "<hr>";
  6. // 第二种声明常量的方法
  7. // define(字符串常量名,常量值)
  8. define("CE","第二种声明的方法;使用的是define(字符串常量名,常量值) ");
  9. echo CE,"输出出来了";
  10. echo "<hr>";
  11. // 还可以使用 constant("常量名")来访问常量
  12. // 有返回值,需要配合echo
  13. const AA = "可以使用constant()来访问常量,有返回值,需要配合echo打印出来";
  14. echo constant("AA");
  15. // 当常量的名称在变量里定义时 就可以用这个
  16. // 例如
  17. const BB = "当常量的名称在变量里定义时 就可以用constant(常量名)来访问常量";
  18. $name="BB";
  19. echo "<BR>";
  20. echo constant("BB"),"同样显示出来了";
  21. // 类常量之能用const定义 常量也不能取消定义或者重新定义
  22. // 常量必须初始化,常量也不受作用域的限制
  23. // 创建一个类
  24. class xue{
  25. const XI = "PHP";
  26. }
  27. echo "<hr>";
  28. const AAA = "函数";
  29. function xi(){
  30. return AAA;
  31. }
  32. echo xi();

效果图


常量是全局成员,最大的问题是命名冲突,引入命名空间 针对的是全局成员

  • 全局空间内的成员不允许重复定义
  • 全局成员:常量,函数,类[接口]
  • 命名空间 namespace+空间名称+{}
  • 命名空间解决全局成员 命名冲突的问题

代码如下

  1. namespace yyy{
  2. const AAA = "这是第一个空间里的常量值";
  3. echo AAA;
  4. // 加个换行横线
  5. echo"<hr>";
  6. }
  7. namespace uuu{
  8. const AAA = "这是第二个空间里的常量值";
  9. echo AAA,".....这个是打印出第二个空间里的常量";
  10. // 访问第一个空间的AAA常量,程序时由上往下执行的
  11. // 所以第一个访问不了下面的空间
  12. echo "<br>";
  13. echo \yyy\AAA,"....现在这个是在第二个空间里打印的第一个空间的常量";
  14. }
  15. // 可以引入全局空间 也叫匿名空间
  16. namespace{
  17. echo"<hr>";
  18. echo \yyy\AAA,"...这是匿名空间打印的第一个空间的常量";
  19. echo"<hr>";
  20. echo\uuu\AAA,"...这是匿名空间打印的第二个空间常量 ";
  21. }

效果图:


过滤器的使用

  • 过滤器函数 filter_var(),过滤单个变量
  • filter_var(变量,过滤器函数,options(额外的过滤规则)); 返回值: 返回过滤后的值,否则返回false
  • 设置过滤器的第三个值的参数,min_range和 max_range分别是最小值和最大值的意思

上代码

  1. // 声明一个变量
  2. $a = "1117";
  3. // 使用过滤器把数字过滤出来 过滤器id是257
  4. // 设置过滤器的第三个值的参数,min_range和 max_range分别是最小值和最大值的意思
  5. $min = 1110;
  6. $max = 1115;
  7. $c = array("options"=>array("min_range"=>$min,"max_range"=>$max));
  8. $b = filter_var($a,257,$c);
  9. // 然后使用var_dump打印出来 也可以使用echo
  10. var_dump($b);
  11. // 做一个判断
  12. if($b){
  13. echo"数字符合区间";
  14. }else{
  15. echo"不符合数字区间";
  16. }

图在这:


  • filter_var_array()过滤多个变量

代码:

  1. // 过滤多个变量
  2. $v = 10;
  3. $h = 11;
  4. $j = [$v,$h];
  5. var_dump(filter_var_array($j,257));

效果图


  • 验证多个外部变量 filter_input_array(输入类型get/post,变量数组规定了过滤器参数数组,键是变量名,值是过滤器) .
  • 过滤外部变量:通过http get/post请求发送过来数据,过滤表单数据 .
  • 使用get参数来演示外部变量的获取与过滤 .
  • 先创建一个变量数组,用来设置需要过滤对应信息,然后再把这个数组引入进去 .

代码在这:

  1. echo "<HR>";
  2. $aaaa = [ "user"=> FILTER_SANITIZE_STRING,
  3. "age"=> FILTER_VALIDATE_INT,
  4. "ip"=>FILTER_VALIDATE_IP,
  5. "url"=>FILTER_VALIDATE_URL,];
  6. // 打印出来 并且设置输入方式 然后引入刚才输入的数组,就可以过滤想要过滤的信息了
  7. var_dump(filter_input_array(INPUT_GET,$aaaa));
  8. echo "<HR>";

图在这:


  • 使用filter_input(输入方式,变量名,对应过滤器的名称或者函数的id)过滤单个变量 .
  • 可以设置过滤规则
  1. 规则:
  2. $guize = ["options"=>["min_range"=>1]];
  3. 过滤:
  4. var_dump(filter_input(INPUT_GET,"id",257,$guize));

图在这:

设置的规则是需要id大于等于1 当输入零时如下图:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
灭绝师太2020-11-20 13:34:561楼
哇~作业写的很详细,有些函数的参数记不住也没关系,但要知道有~ 记不住查一下手册就好了~