zoukankan      html  css  js  c++  java
  • PHP:变量之效果域、静态变量,常量等基础知识

    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

  • 相关阅读:
    WebView用法与JS交互(2) 响应webview中的图片点击事件
    出栈序列(栈和队列)
    Log Files
    Mr. Frog’s Game
    Comparison of Android versions
    Linearization of the kernel functions in SVM
    Game of Nuts
    Easy Summation
    Automatic Judge
    Coprime Sequence
  • 原文地址:https://www.cnblogs.com/hite/p/12731684.html
Copyright © 2011-2022 走看看