Blogger Information
Blog 39
fans 0
comment 0
visits 30553
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP:变量之作用域、静态变量,常量等基础知识
Original
662 people have browsed it

重要案例代码

  1. <?php
  2. // 静态变量:实现函数在多次调用的过程中共享数据
  3. namespace ns3;
  4. function test(){
  5. static $sum = 0;
  6. $sum = $sum+1;
  7. return $sum;
  8. }
  9. echo test(),'<br>';
  10. echo test(),'<br>';
  11. echo test(),'<br>';
  12. // 变量过滤器
  13. foreach( filter_list() as $filter){
  14. echo $filter.' ==>'.filter_id($filter).'<br>';
  15. }
  16. echo '<hr>';
  17. // 过滤单个变量filter_var()
  18. // 年龄
  19. $age = 30;
  20. var_dump(filter_var($age, FILTER_VALIDATE_INT,['options'=>['min_range'=>18,'max_range'=>60]]));
  21. echo '<hr>';
  22. // 过滤多个变量filter_var_array()
  23. var_dump(filter_var_array([100, 'php'], FILTER_VALIDATE_INT));
  24. echo '<hr>';
  25. // 检测外部变量, filter_has_var()
  26. var_dump(filter_has_var(INPUT_GET, 'page'));
  27. echo '<hr>';
  28. // 访问外部变量的过滤器,filter_input
  29. var_dump(filter_input(INPUT_GET, 'p',FILTER_VALIDATE_INT, ['options'=>['min_range'=>1]]));
  30. echo '<hr>';
  31. // 验证多个外部变量: filter_input_array()
  32. $args = [
  33. 'username' => FILTER_SANITIZE_STRING,
  34. 'email' => FILTER_VALIDATE_EMAIL,
  35. 'age' => ['filter' => FILTER_VALIDATE_INT, 'flags'=>FILTER_REQUIRE_SCALAR, 'options' => ['min_range' => 18]],
  36. 'blog' => FILTER_VALIDATE_URL,
  37. ];

运行结果

总结:
1、变量的本质是数据共享;函数的本质是代码共享。
2、静态变量实现函数在多次调用中共享数据。
3、变量过滤器:实现比如表单输入数据的验证。
过滤单个变量filter_var()
过滤多个变量filter_var_array()
检测外部变量, filter_has_var()
访问外部变量的过滤器,filter_input()
验证多个外部变量: filter_input_array()
4、常量不受作用域限制
5、流程控制中,define能用, const不能用
6、常量通常只允许用标量进行初始化
标量: 单值变量, 字符串, 数值,布尔, null

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:过滤器看起来多, 常用没几个
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post